-
Notifications
You must be signed in to change notification settings - Fork 197
Description
I'm working on updating less.js to use 2.0.3 and have discovered some strange behavior. This happens in 2.0.2 and 2.0.3 but not 2.0.1
When calling a multi task, only the first task will actually run it's specs, and then it will either hang or continue to run the other tasks without actually running any specs.
I've written a small test case that shows the case when it doesn't run subsequent specs.
package.json
{
...
"devDependencies": {
"grunt-contrib-jasmine": "^2.0.3",
"grunt": "^1.0.3"
}
}
Gruntfile.js
'use strict';
module.exports = function (grunt) {
grunt.loadNpmTasks('grunt-contrib-jasmine');
grunt.initConfig({
jasmine: {
options: {
keepRunner: true
},
main: {
options: {
specs: 'test.js',
}
},
second: {
options: {
specs: 'test_2.js',
}
},
},
});
grunt.registerTask('default', ['jasmine']);
};
test.js
describe('test', function() {
it('equal test', function() {
expect(1).toEqual(1);
});
});
test_2.js (with failing spec)
describe('test', function() {
it('equal test', function() {
expect(1).toEqual(2);
});
});
running grunt --verbose
produces this output
Initializing
Command-line options: --verbose
Reading "Gruntfile.js" Gruntfile...OK
Registering Gruntfile tasks.
Registering "grunt-contrib-jasmine" local Npm module tasks.
Reading C:\_test\less_tests\node_modules\grunt-contrib-jasmine\package.json...OK
Parsing C:\_test\less_tests\node_modules\grunt-contrib-jasmine\package.json...OK
Loading "jasmine.js" tasks...OK
+ jasmine
Initializing config...OK
Loading "Gruntfile.js" tasks...OK
+ default
No tasks specified, running default tasks.
Running tasks: default
Running "default" task
Running "jasmine" task
Running "jasmine:main" (jasmine) task
Verifying property jasmine.main exists in config...OK
File: [no files]
Options: version="latest", timeout=10000, styles=[], specs="test.js", helpers=[], vendor=[], polyfills=[], customBootFile=null, tempDir=".grunt/grunt-contrib-jasmine", outfile="_SpecRunner.html", host="", template="C:\\_test\\less_tests\\node_modules\\grunt-contrib-jasmine\\tasks\\jasmine\\templates\\DefaultRunner.tmpl", templateOptions={}, junit={}, ignoreEmpty=false, display="full", summary=false, keepRunner
Reading C:\_test\less_tests\node_modules\grunt-contrib-jasmine\tasks\jasmine\reporters\PuppeteerReporter.js...OK
Writing .grunt\grunt-contrib-jasmine\reporter.js...OK
Reading C:\_test\less_tests\node_modules\grunt-contrib-jasmine\.jasmine\latest\lib\jasmine-core\jasmine.css...OK
Writing .grunt\grunt-contrib-jasmine\jasmine.css...OK
Reading C:\_test\less_tests\node_modules\grunt-contrib-jasmine\.jasmine\latest\lib\jasmine-core\jasmine.js...OK
Writing .grunt\grunt-contrib-jasmine\jasmine.js...OK
Reading C:\_test\less_tests\node_modules\grunt-contrib-jasmine\.jasmine\latest\lib\jasmine-core\jasmine-html.js...OK
Writing .grunt\grunt-contrib-jasmine\jasmine-html.js...OK
Reading C:\_test\less_tests\node_modules\grunt-contrib-jasmine\.jasmine\latest\lib\jasmine-core\json2.js...OK
Writing .grunt\grunt-contrib-jasmine\json2.js...OK
Reading C:\_test\less_tests\node_modules\grunt-contrib-jasmine\.jasmine\latest\lib\jasmine-core\boot.js...OK
Writing .grunt\grunt-contrib-jasmine\boot.js...OK
Reading C:\_test\less_tests\node_modules\grunt-contrib-jasmine\.jasmine\latest\images\jasmine_favicon.png...OK
Writing .grunt\grunt-contrib-jasmine\jasmine_favicon.png...OK
Reading C:\_test\less_tests\node_modules\grunt-contrib-jasmine\tasks\jasmine\templates\DefaultRunner.tmpl...OK
Processing source...OK
Writing _SpecRunner.html...OK
Testing specs with Jasmine/latest via HeadlessChrome/72.0.3582.0
Jasmine Runner Starting...
jasmine.suiteStarted
test
jasmine.specStarted
- equal test...jasmine.specDone
√ equal test
jasmine.suiteDone
jasmine.jasmineDone
Jasmine runner finished
1 spec in 0.016s.
>> 0 failures
Running "jasmine:second" (jasmine) task
Verifying property jasmine.second exists in config...OK
File: [no files]
Options: version="latest", timeout=10000, styles=[], specs="test_2.js", helpers=[], vendor=[], polyfills=[], customBootFile=null, tempDir=".grunt/grunt-contrib-jasmine", outfile="_SpecRunner.html", host="", template="C:\\_test\\less_tests\\node_modules\\grunt-contrib-jasmine\\tasks\\jasmine\\templates\\DefaultRunner.tmpl", templateOptions={}, junit={}, ignoreEmpty=false, display="full", summary=false, keepRunner
Reading C:\_test\less_tests\node_modules\grunt-contrib-jasmine\tasks\jasmine\reporters\PuppeteerReporter.js...OK
Writing .grunt\grunt-contrib-jasmine\reporter.js...OK
Reading C:\_test\less_tests\node_modules\grunt-contrib-jasmine\.jasmine\latest\lib\jasmine-core\jasmine.css...OK
Writing .grunt\grunt-contrib-jasmine\jasmine.css...OK
Reading C:\_test\less_tests\node_modules\grunt-contrib-jasmine\.jasmine\latest\lib\jasmine-core\jasmine.js...OK
Writing .grunt\grunt-contrib-jasmine\jasmine.js...OK
Reading C:\_test\less_tests\node_modules\grunt-contrib-jasmine\.jasmine\latest\lib\jasmine-core\jasmine-html.js...OK
Writing .grunt\grunt-contrib-jasmine\jasmine-html.js...OK
Reading C:\_test\less_tests\node_modules\grunt-contrib-jasmine\.jasmine\latest\lib\jasmine-core\json2.js...OK
Writing .grunt\grunt-contrib-jasmine\json2.js...OK
Reading C:\_test\less_tests\node_modules\grunt-contrib-jasmine\.jasmine\latest\lib\jasmine-core\boot.js...OK
Writing .grunt\grunt-contrib-jasmine\boot.js...OK
Reading C:\_test\less_tests\node_modules\grunt-contrib-jasmine\.jasmine\latest\images\jasmine_favicon.png...OK
Writing .grunt\grunt-contrib-jasmine\jasmine_favicon.png...OK
Reading C:\_test\less_tests\node_modules\grunt-contrib-jasmine\tasks\jasmine\templates\DefaultRunner.tmpl...OK
Processing source...OK
Writing _SpecRunner.html...OK
Testing specs with Jasmine/latest via HeadlessChrome/72.0.3582.0
Jasmine Runner Starting...
>> 0 failures
Done.
as you can see the first task completes no problem but then the second task goes straight from Jasmine Runner Starting...
to >> 0 failures
even though the spec should fail.
As far as I can tell this is related to the issue I was having trying to update less.js to use the latest version,
and it might have something to do with tasks/jasmine.js:30 and how it is called on tasks/jasmine.js:372. I'm not very familiar with this project so that's as far as I've got.