canmove, Confirmed users
1,173
edits
m (Telliott moved page Services/Sync/FxSync/Crossweave2 to CloudServices/Sync/FxSync/Crossweave2) |
|||
(9 intermediate revisions by 4 users not shown) | |||
Line 2: | Line 2: | ||
* JavaScript-ability | * JavaScript-ability | ||
* | * Improved error reporting (more finegrained, helpful, etc.) | ||
* | * Be a stable test suite across upcoming refactorings (War On Sync) | ||
* | * Provide reliable perf measurements (track regressions, etc.) | ||
* Better coverage of functionality: reset sync; handling of erroneous server conditions, migrations, etc.; handling of client consistency risks such as unexpected shutdowns… | |||
= Plan for Crossweave / TPS 2.0 = | = Plan for Crossweave / TPS 2.0 = | ||
* Rename to '''Test harness and Profiler for Sync''' (TPS) | * Rename to '''Test harness and Profiler for Sync''' (TPS) | ||
* New docs available at https://developer.mozilla.org/en/TPS | |||
* Python | * Python | ||
Line 16: | Line 19: | ||
** {{done|connect}} to [http://brasstacks.mozilla.com/autolog/ autolog] | ** {{done|connect}} to [http://brasstacks.mozilla.com/autolog/ autolog] | ||
** {{done|convert}} config and manifest file format to JSON | ** {{done|convert}} config and manifest file format to JSON | ||
** remove result reporting to the MySQL db on brasstacks | ** {{done|remove}} result reporting to the MySQL db on brasstacks | ||
* Harness | * Harness | ||
** {{done|clone}} [https://hg.mozilla.org/services/tps tps] repo from [https://hg.mozilla.org/automation/crossweave crossweave] repo | ** {{done|clone}} [https://hg.mozilla.org/services/tps tps] repo from [https://hg.mozilla.org/automation/crossweave crossweave] repo | ||
** refactor tests to | ** {{done|refactor}} tests to JS format | ||
** support JavaScript tests | ** {{done|support}} JavaScript tests | ||
** refactor verify/verify-not/sync/... to be function calls | ** {{done|refactor}} verify/verify-not/sync/... to be function calls | ||
** make all test execution async | ** {{done|make}} all test execution async | ||
** move test files themselves to services/sync/tests/tps | ** move test files themselves to services/sync/tests/tps | ||
Line 33: | Line 36: | ||
** event loop blocking (using <code>MOZ_INSTRUMENT_EVENT_LOOP</code>, see {{bug|606574}}; {{bug|631571}} is the related bug for Talos) | ** event loop blocking (using <code>MOZ_INSTRUMENT_EVENT_LOOP</code>, see {{bug|606574}}; {{bug|631571}} is the related bug for Talos) | ||
** memory usage (from <code>nsIMemoryReporterManager</code>) | ** memory usage (from <code>nsIMemoryReporterManager</code>) | ||
** GC operations (setting <code>javascript.options.mem.log</code> and grepping the error console for the corresponding log messages would already help; better even use build with < | ** GC operations (setting <code>javascript.options.mem.log</code> and grepping the error console for the corresponding log messages would already help; better even use build with <code>--enable-gctimer</code>) | ||
** object allocations (no instrumentation yet?) | ** GC + CC graphs: {{bug|680482}}, https://github.com/amccreight/heapgraph | ||
** JITing (what's trace or method JITed and more importantly, what isn't? no instrumentation yet?!?) | |||
** object allocations (no instrumentation yet?!?) | |||
= rnewman desires = | = rnewman desires = | ||
Line 41: | Line 46: | ||
* support fuzz consistency tests | * support fuzz consistency tests | ||
* more operations (restore from bookmarks to test wipe, for example) | * more operations (restore from bookmarks to test wipe, for example) | ||
= QA desires = | |||
* port mozmill API on top of TPS, so we can have tests against client side setup wizard work | |||
* create headless TPS, and create javascript/python tests against XPShell | |||
* support TPS against a fully integrated test staging server, with configurable settings (eg. disabling Captcha) | |||
* Support for running on mobile?. Start with porting and running against desktop fennec |