This provides summary results such as the following:
% conkeror -q -batch -l tests/simple -walnut-summarize
...
Totals: 58 run, 0 failed in 15 suites
---
modules/command-line.js | 4 ++++
modules/walnut.js | 31 ++++++++++++++++++++++++++++---
2 files changed, 32 insertions(+), 3 deletions(-)
diff --git a/modules/command-line.js b/modules/command-line.js
index 3b861d3..401a7c6 100644
--- a/modules/command-line.js
+++ b/modules/command-line.js
@@ -118,6 +118,10 @@ command_line_param_handler("l", false, function (path,
ctx) {
}
});
+command_line_handler("walnut-summarize", false, function (ctx) {
+ walnut_summarize();
+ });
+
// note `u' must be called as +u because Mozilla consumes -u
command_line_handler("u", false, function (ctx) {
// hack to make sure we send this command to a window
diff --git a/modules/walnut.js b/modules/walnut.js
index cceab15..b3b55c9 100644
--- a/modules/walnut.js
+++ b/modules/walnut.js
@@ -60,8 +60,32 @@ function assert_objects_equal (got, expect) {
function walnut_results () {
- this.run = 0;
- this.failed = 0;
+ this.init();
+}
+walnut_results.prototype = {
+ init: function () {
+ this.run = 0;
+ this.failed = 0;
+ this.suites = 0;
+ },
+ show: function (title) {
+ dumpln((title ? title + ": " : "") +
+ this.run + " run, " + this.failed + " failed" +
+ (this.suites > 1 ? " in " + this.suites + " suites" : ""));
+ },
+ accumulate: function (results) {
+ this.run += results.run;
+ this.failed += results.failed;
+ this.suites += results.suites ? results.suites : 1;
+ }
+}
+
+var walnut_totals = new walnut_results();
+
+function walnut_summarize (keep) {
+ walnut_totals.show("Totals");
+ if (!keep)
+ walnut_totals.init();
}
function walnut_run (suite) {
@@ -88,7 +112,8 @@ function walnut_run (suite) {
}
if (suite.suite_teardown)
suite.suite_teardown();
- dumpln(results.run+" run, "+results.failed+" failed");
+ results.show();
+ walnut_totals.accumulate(results);
return results;
}
--
1.7.6.3
_______________________________________________
Conkeror mailing list
[email protected]
https://www.mozdev.org/mailman/listinfo/conkeror