webcompat / webcompat.com

Source code for webcompat.com
https://webcompat.com
359 stars 191 forks source link

functional tests fail to start with dojo.js error #538

Closed karlcow closed 9 years ago

karlcow commented 9 years ago

Following the instructions at https://github.com/webcompat/webcompat.com/blob/master/CONTRIBUTING.md#functional-tests, I get the following message:

→ ./node_modules/.bin/intern-runner config=tests/intern

/Users/karl/code/webcompat.com/node_modules/intern/node_modules/dojo/dojo.js:757
                    throw new Error('Failed to load module ' + module.mid + ' from ' + url + 
                          ^
Error: Failed to load module intern/lib/reporters/pretty from /Users/karl/code/webcompat.com/node_modules/intern/lib/reporters/pretty.js (parent: *33)
    at /Users/karl/code/webcompat.com/node_modules/intern/node_modules/dojo/dojo.js:757:12
    at fs.js:207:20
    at Object.oncomplete (fs.js:107:15)
miketaylr commented 9 years ago

@karlcow this probably just means you have an old version of Intern. Can you npm install to get the latest?

agray commented 9 years ago

I am using version 2.2.2 of Intern,

@karlcow I'm getting something very similar to this. I am running the intern angular-example from here.

Even though the tests are executing and reporting PASSED on SauceLabs, I am getting the following in Jenkins console:

Initialised firefox 28.0 on MAC
undefined: Error: Failed to load module angular/angular from /angular/angular.js (parent: *33)
 at http://localhost:9000/__intern/node_modules/dojo/dojo.js:731
 at .run/window.onerror <__intern\lib\realClient.js:57>
No unit test coverage for firefox 28.0 on MAC
firefox 28.0 on MAC: 0/0 tests failed
Initialised internet explorer 10 on WINDOWS
Initialised internet explorer 11 on WINDOWS
Initialised internet explorer 9 on WINDOWS
undefined: Failed to load module angular/angular from /angular/angular.js (parent: *33)
 at http://localhost:9000/__intern/node_modules/dojo/dojo.js:731:7
No stack or location
undefined: Failed to load module angular/angular from /angular/angular.js (parent: *33)
Error: Failed to load module angular/angular from /angular/angular.js (parent: *33)
 at handler <__intern\node_modules\dojo\dojo.js:731:7>
No unit test coverage for internet explorer 10 on WINDOWS
internet explorer 10 on WINDOWS: 0/0 tests failed
No unit test coverage for internet explorer 11 on WINDOWS
internet explorer 11 on WINDOWS: 0/0 tests failed
undefined: Failed to load module angular/angular from /angular/angular.js (parent: *32)
 at http://localhost:9000/__intern/node_modules/dojo/dojo.js:731
No stack or location
No unit test coverage for internet explorer 9 on WINDOWS
internet explorer 9 on WINDOWS: 0/0 tests failed
Initialised firefox 28.0 on WINDOWS
undefined: Error: Failed to load module angular/angular from /angular/angular.js (parent: *33)
 at http://localhost:9000/__intern/node_modules/dojo/dojo.js:731
 at .run/window.onerror <__intern\lib\realClient.js:57>
No unit test coverage for firefox 28.0 on WINDOWS
firefox 28.0 on WINDOWS: 0/0 tests failed
Initialised chrome 39.0.2171.65 on Mac OS X
Initialised firefox 28.0 on LINUX
Initialised chrome 39.0.2171.65 on Windows NT
undefined: Failed to load module angular/angular from /angular/angular.js (parent: *32)
Error: Failed to load module angular/angular from /angular/angular.js (parent: *32)
 at HTMLScriptElement.handler <__intern\node_modules\dojo\dojo.js:731:13>
No unit test coverage for chrome 39.0.2171.65 on Mac OS X
chrome 39.0.2171.65 on Mac OS X: 0/0 tests failed
undefined: Error: Failed to load module angular/angular from /angular/angular.js (parent: *33)
 at http://localhost:9000/__intern/node_modules/dojo/dojo.js:731
 at .run/window.onerror <__intern\lib\realClient.js:57>
undefined: Failed to load module angular/angular from /angular/angular.js (parent: *33)
Error: Failed to load module angular/angular from /angular/angular.js (parent: *33)
 at HTMLScriptElement.handler <__intern\node_modules\dojo\dojo.js:731:13>
No unit test coverage for chrome 39.0.2171.65 on Windows NT
chrome 39.0.2171.65 on Windows NT: 0/0 tests failed
No unit test coverage for firefox 28.0 on LINUX
firefox 28.0 on LINUX: 0/0 tests failed
Initialised safari 6.0.5 on MAC
Initialised chrome 39.0.2171.71 on Linux
Initialised safari 7.0.6 on MAC
undefined: Error: Failed to load module angular/angular from /angular/angular.js (parent: *33)
 at http://localhost:9000/__intern/node_modules/dojo/dojo.js:731
No stack or location
No unit test coverage for safari 6.0.5 on MAC
safari 6.0.5 on MAC: 0/0 tests failed
undefined: Failed to load module angular/angular from /angular/angular.js (parent: *33)
Error: Failed to load module angular/angular from /angular/angular.js (parent: *33)
 at HTMLScriptElement.handler <__intern\node_modules\dojo\dojo.js:731:13>
No unit test coverage for chrome 39.0.2171.71 on Linux
chrome 39.0.2171.71 on Linux: 0/0 tests failed
undefined: Error: Failed to load module angular/angular from /angular/angular.js (parent: *33)
 at http://localhost:9000/__intern/node_modules/dojo/dojo.js:731
No stack or location
No unit test coverage for safari 7.0.6 on MAC
safari 7.0.6 on MAC: 0/0 tests failed
 ---------------------|-----------|-----------|-----------|-----------|
File | % Stmts |% Branches | % Funcs | % Lines |
---------------------|-----------|-----------|-----------|-----------|
 adm-zip\ | 3.55 | 0.36 | 0 | 3.72 |
 adm-zip.js | 3.42 | 0.77 | 0 | 3.5 |
 zipEntry.js | 5.08 | 0 | 0 | 5.5 |
 zipFile.js | 2.53 | 0 | 0 | 2.65 |
 adm-zip\headers\ | 5.34 | 0 | 0 | 5.34 |
 entryHeader.js | 3.13 | 0 | 0 | 3.13 |
 index.js | 100 | 100 | 100 | 100 |
 mainHeader.js | 6.06 | 0 | 0 | 6.06 |
 adm-zip\methods\ | 1.4 | 0 | 0 | 1.49 |
 deflater.js | 0.38 | 0 | 0 | 0.38 |
 index.js | 100 | 100 | 100 | 100 |
 inflater.js | 3.25 | 0 | 0 | 3.81 |
 adm-zip\util\ | 16.04 | 3.64 | 4.17 | 16.67 |
 constants.js | 100 | 100 | 100 | 100 |
 errors.js | 100 | 100 | 100 | 100 |
 fattr.js | 17.39 | 12.5 | 0 | 17.39 |
 index.js | 100 | 100 | 100 | 100 |
 utils.js | 9.09 | 2.13 | 7.69 | 9.59 |
---------------------|-----------|-----------|-----------|-----------|
All files | 3.06 | 0.41 | 0.46 | 3.21 |
---------------------|-----------|-----------|-----------|-----------|
 TOTAL: tested 11 platforms, 0/0 tests failed; fatal error occurred
Build step 'Execute Windows batch command' marked build as failure

...and the build fails.

Lines like

undefined: Error: Failed to load module angular/angular from /angular/angular.js (parent: *33)

are emitted in the log for virtually every test.

miketaylr commented 9 years ago

@karlcow can you update your Intern package and try again?

karlcow commented 9 years ago

ok let's see.

→ git fetch upstream

remote: Counting objects: 6, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 6 (delta 1), reused 4 (delta 1)
Unpacking objects: 100% (6/6), done.
From https://github.com/webcompat/webcompat.com
   fd0f9fa..dd8b290  master     -> upstream/master
 * [new tag]         v1.5.0     -> v1.5.0

→ git pull upstream master

From https://github.com/webcompat/webcompat.com
 * branch            master     -> FETCH_HEAD
Updating fd0f9fa..dd8b290
Fast-forward
 CHANGELOG.md                                              |   6 +++
 tests/functional/issue-list.js                            | 131 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 webcompat/static/js/lib/issue-list.js                     | 213 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------
 webcompat/static/js/lib/models/issue.js                   |   2 +-
 webcompat/templates/browse-issues.html                    |  10 ++---
 webcompat/templates/browse-issues/needs-diagnosis.html    |   2 +-
 webcompat/templates/browse-issues/new.html                |   2 +-
 webcompat/templates/browse-issues/ready-for-outreach.html |   2 +-
 webcompat/templates/browse-issues/site-contacted.html     |   2 +-
 9 files changed, 321 insertions(+), 49 deletions(-)

then

→ sudo npm install
Password:
npm WARN excluding symbolic link query -> vendors/jquery/src/
npm WARN excluding symbolic link query -> vendors/jquery/src/
-
> intern@2.2.0 install /Users/karl/code/webcompat.com/node_modules/intern
> node support/fixdeps.js

intern@2.2.0 node_modules/intern
├── diff@1.1.0
├── charm@0.2.0
├── source-map@0.1.33 (amdefine@0.1.0)
├── dojo@2.0.0-dev
├── leadfoot@1.2.0 (dojo@2.0.0-alpha3)
├── chai@1.9.1 (assertion-error@1.0.0, deep-eql@0.1.3)
├── istanbul@0.2.16 (which@1.0.8, abbrev@1.0.5, nopt@3.0.1, wordwrap@0.0.2, async@0.9.0, resolve@0.7.4, esprima@1.2.3, escodegen@1.3.3, handlebars@1.3.0, mkdirp@0.5.0, fileset@0.1.5, js-yaml@3.2.5)
└── digdug@1.2.0 (dojo@2.0.0-alpha3, decompress@0.2.3)

And Finally

→ workon webcompatcom
(webcompatcom)11:03:03 ~/code/webcompat.com
→ export PATH="/Applications/Firefox.app/Contents/MacOS/:$PATH"
(webcompatcom)11:03:13 ~/code/webcompat.com
(webcompatcom)11:03:13 ~/code/webcompat.com
→ java -jar ~/bin/selenium-server-standalone-2.44.0.jar
11:04:20.360 INFO - Launching a standalone server
11:04:20.423 INFO - Java: Oracle Corporation 24.51-b03
11:04:20.423 INFO - OS: Mac OS X 10.10.1 x86_64
11:04:20.445 INFO - v2.44.0, with Core v2.44.0. Built from revision 76d78cf
11:04:20.563 INFO - Default driver org.openqa.selenium.ie.InternetExplorerDriver registration is skipped: registration capabilities Capabilities [{platform=WINDOWS, ensureCleanSession=true, browserName=internet explorer, version=}] does not match with current platform: MAC
11:04:20.644 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub
11:04:20.645 INFO - Version Jetty/5.1.x
11:04:20.646 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
11:04:20.648 INFO - Started HttpContext[/selenium-server,/selenium-server]
11:04:20.648 INFO - Started HttpContext[/,/]
11:04:21.282 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@4ce868c9
11:04:21.282 INFO - Started HttpContext[/wd,/wd]
11:04:21.288 INFO - Started SocketListener on 0.0.0.0:4444
11:04:21.288 INFO - Started org.openqa.jetty.jetty.Server@4b8b7245

In a separate window,

→ workon webcompatcom
(webcompatcom)11:05:37 ~/code/webcompat.com
→ python run.py
[Use http://localhost:5000/]
 * Running on http://127.0.0.1:5000/
 * Restarting with reloader
[Use http://localhost:5000/]

In a third window,

→ workon webcompatcom
(webcompatcom)11:07:06 ~/code/webcompat.com
→ node_modules/.bin/intern-runner config=tests/intern
tests/intern
Tunnel: Ready

Total: Pending
Passed: 0  Failed: 0  Skipped: 0

The Firefox browser app is opening with a blank window, but nothing else is happening. It stays blank.

I guess this is progress :) but still doesn't work. I wonder if there is a magic configuration or something which is not documented currently in the doc.

karlcow commented 9 years ago

Once I quit the browser… I have this giant log https://gist.github.com/karlcow/f740ae96d4b1e1bb8221

which is finishing by:

tests/intern
Tunnel: Ready

Total: [××××××××××××××××××××××××××××××××××××××] 39/39
Passed: 0   Failed: 39  Skipped: 0

Fx 35 MAC:  [××××××××××××××××××××××××××××××××××××××] 39/39, 39 fail

----------|-----------|-----------|-----------|-----------|
File      |   % Stmts |% Branches |   % Funcs |   % Lines |
----------|-----------|-----------|-----------|-----------|
----------|-----------|-----------|-----------|-----------|
All files |       100 |       100 |       100 |       100 |
----------|-----------|-----------|-----------|-----------|
karlcow commented 9 years ago

OK it seems to be a communication issue in between the tests and the browser.

UnknownError: [POST http://localhost:4444/wd/hub/session/fc84a42e-9e23-4dee-bb02-4a5b1be4e04e/timeouts / {"type":"implicit","ms":10000}] Error communicating with the remote browser. It may have died.

hmmm I wonder why localhost:4444

magsout commented 9 years ago

I updated all npm package and I tried with selenium 2.44.0. Exactly same error that @karlcow

miketaylr commented 9 years ago

Which version of Firefox.app do you have @karlcow? There's always the problem of keeping new releases and Selenium in sync.

karlcow commented 9 years ago

@miketaylr The one I use for testing is exclusively the last one stable release. Right now 35.0.1. This to be in sync with the mainstream.

miketaylr commented 9 years ago

Until Selenium updates their standalone server to be compatibile with 35, you'll need to downgrade to 34. (Or point at the 34 binary with something like https://github.com/mozilla/fxa-content-server/blob/master/tests/intern.js#L82)

karlcow commented 9 years ago

Some related bug about Firefox 35

@pfrasa: I've pushed a pre-release gem, 2.45.0.dev3, that includes the fix for this issue.

miketaylr commented 9 years ago

Also some related commits today (Feb 4), including one that was reverted. So they're working on it. ^_^

https://github.com/SeleniumHQ/selenium/commits/master

miketaylr commented 9 years ago

Is this bug still valid?

karlcow commented 9 years ago

Solved with http://selenium-release.storage.googleapis.com/2.45/selenium-server-standalone-2.45.0.jar Thanks @miketaylr