Skip to content

Commit

Permalink
Logging: Add runtime to moduleDone
Browse files Browse the repository at this point in the history
Add runtime to moduleDone
Minor cleanup of other logging runtime

Fixes #645
  • Loading branch information
JamesMGreene committed Sep 4, 2014
1 parent 4612063 commit a9aca10
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 16 deletions.
7 changes: 4 additions & 3 deletions src/core.js
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,7 @@ extend( QUnit.constructor.prototype, {
// done: { failed, passed, total, runtime }
done: registerLoggingCallback( "done" ),

// log: { result, actual, expected, message }
// log: { result, actual, expected, message, runtime }
log: registerLoggingCallback( "log" ),

// testStart: { name }
Expand All @@ -396,7 +396,7 @@ extend( QUnit.constructor.prototype, {
// moduleStart: { name }
moduleStart: registerLoggingCallback( "moduleStart" ),

// moduleDone: { name, failed, passed, total }
// moduleDone: { name, failed, passed, total, runtime }
moduleDone: registerLoggingCallback( "moduleDone" )
});

Expand Down Expand Up @@ -464,7 +464,8 @@ function done() {
name: config.previousModule,
failed: config.moduleStats.bad,
passed: config.moduleStats.all - config.moduleStats.bad,
total: config.moduleStats.all
total: config.moduleStats.all,
runtime: now() - config.moduleStats.started
});
}
delete config.previousModule;
Expand Down
5 changes: 3 additions & 2 deletions src/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,12 @@ Test.prototype = {
name: config.previousModule,
failed: config.moduleStats.bad,
passed: config.moduleStats.all - config.moduleStats.bad,
total: config.moduleStats.all
total: config.moduleStats.all,
runtime: now() - config.moduleStats.started
});
}
config.previousModule = this.module;
config.moduleStats = { all: 0, bad: 0 };
config.moduleStats = { all: 0, bad: 0, started: now() };
runLoggingCallbacks( "moduleStart", {
name: this.module
});
Expand Down
38 changes: 27 additions & 11 deletions test/logs.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,16 +63,20 @@ QUnit.test( "test1", function( assert ) {
assert.equal( testDone, 0, "QUnit.testDone calls" );
assert.equal( moduleDone, 0, "QUnit.moduleDone calls" );

assert.equal( typeof logContext.runtime, "number", "log context: runtime" );
assert.equal(
logContext.runtime >= 0 && logContext.runtime < 50,
true,
"log runtime was a reasonable number"
);

delete logContext.runtime;
assert.deepEqual( logContext, {
name: "test1",
module: "logs1",
result: true,
message: "log context: runtime",
actual: "number",
expected: "number",
message: "log runtime was a reasonable number",
actual: true,
expected: true,
testNumber: 1
}, "log context after equal(actual, expected, message)" );

Expand Down Expand Up @@ -125,15 +129,19 @@ QUnit.test( "test2", function( assert ) {
assert.equal( testDone, 1, "QUnit.testDone calls" );
assert.equal( moduleDone, 0, "QUnit.moduleDone calls" );

assert.equal( typeof testDoneContext.runtime, "number", "testDone context: runtime" );
delete testDoneContext.runtime;
// DEPRECATED: remove this delete when removing the duration property
delete testDoneContext.duration;
assert.equal(
testDoneContext.runtime >= 0 && testDoneContext.runtime < 1000,
true,
"test runtime was a reasonable number"
);

assert.ok( testDoneContext.assertions instanceof Array, "testDone context: assertions" );

// TODO: more tests for testDoneContext.assertions

delete testDoneContext.runtime;
// DEPRECATED: remove this delete when removing the duration property
delete testDoneContext.duration;
// Delete testDoneContext.assertions so we can easily jump to next assertion
delete testDoneContext.assertions;
assert.deepEqual( testDoneContext, {
Expand All @@ -160,7 +168,7 @@ QUnit.test( "test2", function( assert ) {
QUnit.module( "logs2" );

QUnit.test( "test1", function( assert ) {
assert.expect( 9 );
assert.expect( 10 );
assert.equal( begin, 1, "QUnit.begin calls" );
assert.equal( moduleStart, 2, "QUnit.moduleStart calls" );
assert.equal( testStart, 3, "QUnit.testStart calls" );
Expand All @@ -172,6 +180,14 @@ QUnit.test( "test1", function( assert ) {
name: "test1",
testNumber: 3
}, "test context" );

assert.equal(
moduleDoneContext.runtime >= 0 && moduleDoneContext.runtime < 5000,
true,
"module runtime was a reasonable number"
);
delete moduleDoneContext.runtime;

assert.deepEqual( moduleDoneContext, {
name: "logs1",
failed: 0,
Expand All @@ -182,7 +198,7 @@ QUnit.test( "test1", function( assert ) {
name: "logs2"
}, "module context" );

assert.equal( log, 37, "QUnit.log calls" );
assert.equal( log, 38, "QUnit.log calls" );
});

QUnit.test( "test2", function( assert ) {
Expand All @@ -202,7 +218,7 @@ QUnit.test( "test2", function( assert ) {
name: "logs2"
}, "module context" );

assert.equal( log, 45, "QUnit.log calls" );
assert.equal( log, 46, "QUnit.log calls" );
});

testAutorun = true;
Expand Down

0 comments on commit a9aca10

Please sign in to comment.