Searchfox Update: XPIDL `.idl` enhancements, Code Coverage stability improvements

32 views
Skip to first unread message

Andrew Sutherland

unread,
Mar 14, 2022, 6:35:22 PM3/14/22
to dev-pl...@mozilla.org

Hello Searchfox Users!  You may have noticed the following things working again/better recently in Searchfox:

XPIDL:

  • Clicking on symbols in the `.idl` for the current revision will once more bring up a menu with options.  There was a regression here for a bit due to a historical lack of test coverage, but now the regression is fixed and we have newly added test coverage in both the "tests" repository in the searchfox repo at https://github.com/mozsearch/mozsearch (docs on tests at https://github.com/mozsearch/mozsearch/blob/master/docs/testing-checks.md) but also in our production checks at https://github.com/mozsearch/mozsearch-mozilla/tree/master/mozilla-central/checks!
  • "Go to definition" for XPIDL binding symbols will take you to the line of the `.idl` file that defines the symbol rather than the line of the `.h` file for the C++ binding.
  • For XPIDL methods, the search menu "Search for IDL method" has gained a sibling menu option "Search for IDL C++ method" that is specifically for the C++ binding's symbol and excluding the best effort JS symbol which is included in "Search for IDL method".  Due to limitations in the searchfox JS analysis, for an IDL method "doASpecificThing", the IDL analysis will link it to the JS symbol `#doASpecificThing` which works out okay when that method name is unique across the entire m-c codebase, but works out less well when it's a common name.
  • For XPIDL attributes, the search menu "Search for IDL attribute" has gained 2 sibling menu options: "Search for IDL C++ getter" and "Search for IDL C++ setter".  These likewise are searches only for the C++ symbols and excluding the JS symbols.
  • Many thanks to :nika and :mccr8 for their assistance in investigating the problem(s) and helping iterate towards an even better UX than we had before!

Code Coverage:

  • Code coverage data should be more reliably present as searchfox now should run per-push on mozilla-central instead of based on a cron job, allowing searchfox to only index jobs where code coverage data is available instead of indexing DONTBUILD jobs where it is not.  This does mean that searchfox indexes for m-c no longer directly correspond to nightly builds, but it's also likely that there will also be little drift between what searchfox indexed and what's in a given nightly.
  • Many thanks to :marco for helping diagnose the scheduling problem and :aki and :ahal for helping explore the solution space and then get us to that solution quickly!
  • There's still a little more work to be done here to help searchfox only pick jobs that have coverage data available.

Things to keep in mind about Searchfox:

  • Anyone can contribute!  Check out the `#searchfox` channel on https://chat.mozilla.org/ and the repo at https://github.com/mozsearch/mozsearch!
  • Searchfox is a contributor driven project.  If there are features you would like to see or rough edges that slow down your work, please talk to your manager[1] and discuss the possibility of finding time to potentially contribute to the project yourself if you are interested, and/or help your manager surface the potential efficiency improvements for you/the organization so that these can be quantified and potentially folded into OKRs for teams with the relevant expertise and interest.

1: While in the context of MoCo employees, manager means your manager, for others this may be more of a metaphorical manager.

Reply all
Reply to author
Forward
0 new messages