Closed Bug 1062821 Opened 5 years ago Closed 4 years ago

browser_parsable_css.js stopped catching failures on trunk

Categories

(Firefox :: General, defect)

x86
macOS
defect
Not set
Points:
5

Tracking

()

RESOLVED FIXED
Firefox 43
Tracking Status
firefox43 --- fixed

People

(Reporter: Gijs, Assigned: Gijs)

References

Details

Attachments

(2 files)

... and so now we're shipping broken css. Again. Sigh.

It seems that the error reporter doesn't get called until after the load events have all fired, and so locally, my log looks like this:

gkruitbosch-16516:fx-team gkruitbosch$ ./mach mochitest-browser browser/base/content/test/general/browser_parsable_css.js --app-override dist
From _tests: Kept 19532 existing; Added/updated 0; Removed 0 files and 0 directories.
pk12util: PKCS12 IMPORT SUCCESSFUL
MochitestServer : launching [u'/Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/bin/xpcshell', '-g', u'/Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS', '-v', '170', '-f', u'/Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/bin/components/httpd.js', '-e', "const _PROFILE_PATH = '/var/folders/2f/q_l6g8d13fzc8qcn4wmllmrc0000gn/T/tmpxUueTp.mozrunner'; const _SERVER_PORT = '8888'; const _SERVER_ADDR = '127.0.0.1'; const _TEST_PREFIX = undefined; const _DISPLAY_RESULTS = false;", '-f', '/Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/_tests/testing/mochitest/server.js']
runtests.py | Server pid: 45700
runtests.py | Websocket server pid: 45701
runtests.py | SSL tunnel pid: 45702
SUITE-START | Running 1 tests
runtests.py | Running tests: start.

runtests.py | Application pid: 45703
-*- Webapps.jsm : Saving /var/folders/2f/q_l6g8d13fzc8qcn4wmllmrc0000gn/T/tmpxUueTp.mozrunner/webapps/webapps.json
-*- Webapps.jsm : Saving /var/folders/2f/q_l6g8d13fzc8qcn4wmllmrc0000gn/T/tmpxUueTp.mozrunner/webapps/webapps.json
0 INFO *** Start BrowserChrome Test Results ***
1 INFO checking window state
2 INFO TEST-START | chrome://mochitests/content/browser/browser/base/content/test/general/browser_parsable_css.js
3 INFO Entering test checkAllTheCSS
4 INFO Ignored error for jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/aboutaccounts/main.css because of filter.
5 INFO Console message: [JavaScript Warning: "Error in parsing value for 'min-height'.  Declaration dropped." {file: "jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/aboutaccounts/main.css" line: 125 column: 16 source: "    min-height: none;"}]
6 INFO Ignored error for jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/aboutaccounts/main.css because of filter.
7 INFO Console message: [JavaScript Warning: "Expected media feature name but found 'min-device-pixel-ratio'." {file: "jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/aboutaccounts/main.css" line: 144 column: 17 source: "only screen and (min-device-pixel-ratio: 2),"}]
8 INFO Ignored error for jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/devtools/codemirror/codemirror.css because of filter.
9 INFO Console message: [JavaScript Warning: "Expected declaration but found '*'.  Skipped to next declaration." {file: "jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/devtools/codemirror/codemirror.css" line: 176 column: 2 source: "  *zoom:1;"}]
10 INFO Ignored error for jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/devtools/codemirror/codemirror.css because of filter.
11 INFO Console message: [JavaScript Warning: "Expected declaration but found '*'.  Skipped to next declaration." {file: "jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/devtools/codemirror/codemirror.css" line: 177 column: 2 source: "  *display:inline;"}]
12 INFO Ignored error for jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/devtools/codemirror/codemirror.css because of filter.
13 INFO Console message: [JavaScript Warning: "Unknown property '-moz-border-radius'.  Declaration dropped." {file: "jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/devtools/codemirror/codemirror.css" line: 190 column: 20 source: "  -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;"}]
14 INFO Ignored error for jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/devtools/codemirror/codemirror.css because of filter.
15 INFO Console message: [JavaScript Warning: "Expected declaration but found '*'.  Skipped to next declaration." {file: "jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/devtools/codemirror/codemirror.css" line: 262 column: 19 source: ".CodeMirror span { *vertical-align: text-bottom; }"}]
16 INFO Ignored error for jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/loop/sdk-content/css/ot.css because of filter.
17 INFO Console message: [JavaScript Warning: "Unknown property '-moz-border-radius'.  Declaration dropped." {file: "jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/loop/sdk-content/css/ot.css" line: 566 column: 20 source: "  -moz-border-radius: 30px;"}]
18 INFO Ignored error for jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/loop/sdk-content/css/ot.css because of filter.
19 INFO Console message: [JavaScript Warning: "Unknown property '-moz-box-shadow'.  Declaration dropped." {file: "jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/loop/sdk-content/css/ot.css" line: 573 column: 17 source: "  -moz-box-shadow: 0 0 5px 1px #575757;"}]
20 INFO Ignored error for jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/loop/sdk-content/css/ot.css because of filter.
21 INFO Console message: [JavaScript Warning: "Unknown property '-moz-box-shadow'.  Declaration dropped." {file: "jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/loop/sdk-content/css/ot.css" line: 588 column: 19 source: "    -moz-box-shadow: 0 0 0px 0px #c70019;"}]
22 INFO Ignored error for jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/loop/sdk-content/css/ot.css because of filter.
23 INFO Console message: [JavaScript Warning: "Unknown property '-moz-box-shadow'.  Declaration dropped." {file: "jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/loop/sdk-content/css/ot.css" line: 594 column: 19 source: "    -moz-box-shadow: 0 0 5px 1px #c70019;"}]
24 INFO Ignored error for jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/loop/sdk-content/css/ot.css because of filter.
25 INFO Console message: [JavaScript Warning: "Unknown property '-moz-box-shadow'.  Declaration dropped." {file: "jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/loop/sdk-content/css/ot.css" line: 600 column: 19 source: "    -moz-box-shadow: 0 0 5px 1px #c70019;"}]
26 INFO Ignored error for jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/loop/sdk-content/css/ot.css because of filter.
27 INFO Console message: [JavaScript Warning: "Unknown property '-moz-box-shadow'.  Declaration dropped." {file: "jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/loop/sdk-content/css/ot.css" line: 606 column: 19 source: "    -moz-box-shadow: 0 0 0px 0px #c70019;"}]
28 INFO Ignored error for jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/loop/sdk-content/css/ot.css because of filter.
29 INFO Console message: [JavaScript Warning: "Unknown property '-moz-box-shadow'.  Declaration dropped." {file: "jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/loop/sdk-content/css/ot.css" line: 612 column: 19 source: "    -moz-box-shadow: 0 0 0px 0px #c70019;"}]
30 INFO Ignored error for jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/aboutaccounts/normalize.css because of filter.
31 INFO Console message: [JavaScript Warning: "Unknown pseudo-class or pseudo-element '-webkit-search-cancel-button'.  Ruleset ignored due to bad selector." {file: "jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/browser/content/browser/aboutaccounts/normalize.css" line: 366 column: 22 source: "input[type="search"]::-webkit-search-cancel-button,"}]
32 INFO Ignored error for jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/pdfjs/content/web/viewer.css because of filter.
33 INFO Console message: [JavaScript Warning: "Unknown pseudo-class or pseudo-element 'fullscreen'.  Ruleset ignored due to bad selector." {file: "jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/pdfjs/content/web/viewer.css" line: 58 column: 17 source: "#viewerContainer:fullscreen {"}]
34 INFO Ignored error for jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/pdfjs/content/web/viewer.css because of filter.
35 INFO Console message: [JavaScript Warning: "Unknown pseudo-class or pseudo-element 'fullscreen'.  Ruleset ignored due to bad selector." {file: "jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/pdfjs/content/web/viewer.css" line: 73 column: 1 source: ":fullscreen .page {"}]
36 INFO Ignored error for jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/pdfjs/content/web/viewer.css because of filter.
37 INFO Console message: [JavaScript Warning: "Unknown pseudo-class or pseudo-element 'fullscreen'.  Ruleset ignored due to bad selector." {file: "jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/pdfjs/content/web/viewer.css" line: 82 column: 1 source: ":fullscreen a:not(.internalLink) {"}]
38 INFO Ignored error for jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/pdfjs/content/web/viewer.css because of filter.
39 INFO Console message: [JavaScript Warning: "Unknown pseudo-class or pseudo-element 'fullscreen'.  Ruleset ignored due to bad selector." {file: "jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/pdfjs/content/web/viewer.css" line: 90 column: 1 source: ":fullscreen .textLayer > div {"}]
40 INFO Ignored error for jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/pdfjs/content/web/viewer.css because of filter.
41 INFO Console message: [JavaScript Warning: "Unknown pseudo-class or pseudo-element 'selection'.  Ruleset ignored due to bad selector." {file: "jar:file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/firefox/Nightly.app/Contents/MacOS/browser/omni.ja!/chrome/pdfjs/content/web/viewer.css" line: 1250 column: 2 source: "::selection { background:rgba(0,0,255,0.3); }"}]
42 INFO TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/general/browser_parsable_css.js | All the styles (133) loaded without errors. 
43 INFO Leaving test checkAllTheCSS
44 INFO Console message: [JavaScript Warning: "Error in parsing value for 'box-shadow'.  Declaration dropped." {file: "chrome://global/skin/in-content/common.css" line: 656 column: 14 source: "  box-shadow: @focusRingShadow@;"}]
45 INFO MEMORY STAT vsize after test: 3289157632
46 INFO MEMORY STAT vsizeMaxContiguous not supported in this build configuration.
47 INFO MEMORY STAT residentFast after test: 242614272
48 INFO MEMORY STAT heapAllocated after test: 106371816
49 INFO TEST-OK | chrome://mochitests/content/browser/browser/base/content/test/general/browser_parsable_css.js | took 130ms
50 INFO checking window state
51 INFO TEST-START | Shutdown
52 INFO Browser Chrome Test Summary
53 INFO Passed:  1
54 INFO Failed:  0
55 INFO Todo:    0
56 INFO *** End BrowserChrome Test Results ***


without --app-override dist, I get:

gkruitbosch-16516:fx-team gkruitbosch$ ./mach mochitest-browser browser/base/content/test/general/browser_parsable_css.js
From _tests: Kept 19532 existing; Added/updated 0; Removed 0 files and 0 directories.
pk12util: PKCS12 IMPORT SUCCESSFUL
MochitestServer : launching [u'/Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/bin/xpcshell', '-g', u'/Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/Nightly.app/Contents/MacOS', '-v', '170', '-f', u'/Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/bin/components/httpd.js', '-e', "const _PROFILE_PATH = '/var/folders/2f/q_l6g8d13fzc8qcn4wmllmrc0000gn/T/tmp5WGzLj.mozrunner'; const _SERVER_PORT = '8888'; const _SERVER_ADDR = '127.0.0.1'; const _TEST_PREFIX = undefined; const _DISPLAY_RESULTS = false;", '-f', '/Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/_tests/testing/mochitest/server.js']
runtests.py | Server pid: 45818
runtests.py | Websocket server pid: 45819
runtests.py | SSL tunnel pid: 45820
SUITE-START | Running 1 tests
runtests.py | Running tests: start.

runtests.py | Application pid: 45821
-*- Webapps.jsm : Saving /var/folders/2f/q_l6g8d13fzc8qcn4wmllmrc0000gn/T/tmp5WGzLj.mozrunner/webapps/webapps.json
-*- Webapps.jsm : Saving /var/folders/2f/q_l6g8d13fzc8qcn4wmllmrc0000gn/T/tmp5WGzLj.mozrunner/webapps/webapps.json
0 INFO *** Start BrowserChrome Test Results ***
1 INFO checking window state
2 INFO TEST-START | chrome://mochitests/content/browser/browser/base/content/test/general/browser_parsable_css.js
3 INFO Entering test checkAllTheCSS
4 INFO TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/base/content/test/general/browser_parsable_css.js | Uncaught exception - [object Object]
5 INFO Leaving test checkAllTheCSS
6 INFO Console message: [JavaScript Warning: "Unknown pseudo-class or pseudo-element 'fullscreen'.  Ruleset ignored due to bad selector." {file: "file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/Nightly.app/Contents/MacOS/browser/chrome/pdfjs/content/web/viewer.css" line: 58 column: 17 source: "#viewerContainer:fullscreen {"}]
7 INFO Ignored error for file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/Nightly.app/Contents/MacOS/browser/chrome/pdfjs/content/web/viewer.css because of filter.
8 INFO Console message: [JavaScript Warning: "Unknown pseudo-class or pseudo-element 'fullscreen'.  Ruleset ignored due to bad selector." {file: "file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/Nightly.app/Contents/MacOS/browser/chrome/pdfjs/content/web/viewer.css" line: 73 column: 1 source: ":fullscreen .page {"}]
9 INFO Ignored error for file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/Nightly.app/Contents/MacOS/browser/chrome/pdfjs/content/web/viewer.css because of filter.
10 INFO Console message: [JavaScript Warning: "Unknown pseudo-class or pseudo-element 'fullscreen'.  Ruleset ignored due to bad selector." {file: "file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/Nightly.app/Contents/MacOS/browser/chrome/pdfjs/content/web/viewer.css" line: 82 column: 1 source: ":fullscreen a:not(.internalLink) {"}]
11 INFO Ignored error for file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/Nightly.app/Contents/MacOS/browser/chrome/pdfjs/content/web/viewer.css because of filter.
12 INFO Console message: [JavaScript Warning: "Unknown pseudo-class or pseudo-element 'fullscreen'.  Ruleset ignored due to bad selector." {file: "file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/Nightly.app/Contents/MacOS/browser/chrome/pdfjs/content/web/viewer.css" line: 90 column: 1 source: ":fullscreen .textLayer > div {"}]
13 INFO Ignored error for file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/Nightly.app/Contents/MacOS/browser/chrome/pdfjs/content/web/viewer.css because of filter.
14 INFO Console message: [JavaScript Warning: "Unknown pseudo-class or pseudo-element 'selection'.  Ruleset ignored due to bad selector." {file: "file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/Nightly.app/Contents/MacOS/browser/chrome/pdfjs/content/web/viewer.css" line: 1250 column: 2 source: "::selection { background:rgba(0,0,255,0.3); }"}]
15 INFO Ignored error for file:///Users/gkruitbosch/dev/builds/opt-x86_64-apple-darwin13.3.0/dist/Nightly.app/Contents/MacOS/browser/chrome/pdfjs/content/web/viewer.css because of filter.
16 INFO Console message: [JavaScript Warning: "Error in parsing value for 'min-height'.  Declaration dropped." {file: "file:///Users/gkruitbosch/dev/fx-team/browser/base/content/aboutaccounts/main.css" line: 125 column: 16 source: "    min-height: none;"}]
17 INFO Ignored error for file:///Users/gkruitbosch/dev/fx-team/browser/base/content/aboutaccounts/main.css because of filter.
18 INFO Console message: [JavaScript Warning: "Expected media feature name but found 'min-device-pixel-ratio'." {file: "file:///Users/gkruitbosch/dev/fx-team/browser/base/content/aboutaccounts/main.css" line: 144 column: 17 source: "only screen and (min-device-pixel-ratio: 2),"}]
19 INFO Ignored error for file:///Users/gkruitbosch/dev/fx-team/browser/base/content/aboutaccounts/main.css because of filter.
20 INFO Console message: [JavaScript Warning: "Unknown pseudo-class or pseudo-element '-webkit-search-cancel-button'.  Ruleset ignored due to bad selector." {file: "file:///Users/gkruitbosch/dev/fx-team/browser/base/content/aboutaccounts/normalize.css" line: 366 column: 22 source: "input[type="search"]::-webkit-search-cancel-button,"}]
21 INFO Ignored error for file:///Users/gkruitbosch/dev/fx-team/browser/base/content/aboutaccounts/normalize.css because of filter.
22 INFO Console message: [JavaScript Warning: "Expected declaration but found '*'.  Skipped to next declaration." {file: "file:///Users/gkruitbosch/dev/fx-team/browser/devtools/sourceeditor/codemirror/codemirror.css" line: 176 column: 2 source: "  *zoom:1;"}]
23 INFO Ignored error for file:///Users/gkruitbosch/dev/fx-team/browser/devtools/sourceeditor/codemirror/codemirror.css because of filter.
24 INFO Console message: [JavaScript Warning: "Expected declaration but found '*'.  Skipped to next declaration." {file: "file:///Users/gkruitbosch/dev/fx-team/browser/devtools/sourceeditor/codemirror/codemirror.css" line: 177 column: 2 source: "  *display:inline;"}]
25 INFO Ignored error for file:///Users/gkruitbosch/dev/fx-team/browser/devtools/sourceeditor/codemirror/codemirror.css because of filter.
26 INFO Console message: [JavaScript Warning: "Unknown property '-moz-border-radius'.  Declaration dropped." {file: "file:///Users/gkruitbosch/dev/fx-team/browser/devtools/sourceeditor/codemirror/codemirror.css" line: 190 column: 20 source: "  -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;"}]
27 INFO Ignored error for file:///Users/gkruitbosch/dev/fx-team/browser/devtools/sourceeditor/codemirror/codemirror.css because of filter.
28 INFO Console message: [JavaScript Warning: "Expected declaration but found '*'.  Skipped to next declaration." {file: "file:///Users/gkruitbosch/dev/fx-team/browser/devtools/sourceeditor/codemirror/codemirror.css" line: 262 column: 19 source: ".CodeMirror span { *vertical-align: text-bottom; }"}]
29 INFO Ignored error for file:///Users/gkruitbosch/dev/fx-team/browser/devtools/sourceeditor/codemirror/codemirror.css because of filter.
30 INFO Console message: [JavaScript Warning: "Unknown property '-moz-border-radius'.  Declaration dropped." {file: "file:///Users/gkruitbosch/dev/fx-team/browser/components/loop/content/shared/libs/sdk-content/css/ot.css" line: 566 column: 20 source: "  -moz-border-radius: 30px;"}]
31 INFO Ignored error for file:///Users/gkruitbosch/dev/fx-team/browser/components/loop/content/shared/libs/sdk-content/css/ot.css because of filter.
32 INFO Console message: [JavaScript Warning: "Unknown property '-moz-box-shadow'.  Declaration dropped." {file: "file:///Users/gkruitbosch/dev/fx-team/browser/components/loop/content/shared/libs/sdk-content/css/ot.css" line: 573 column: 17 source: "  -moz-box-shadow: 0 0 5px 1px #575757;"}]
33 INFO Ignored error for file:///Users/gkruitbosch/dev/fx-team/browser/components/loop/content/shared/libs/sdk-content/css/ot.css because of filter.
34 INFO Console message: [JavaScript Warning: "Unknown property '-moz-box-shadow'.  Declaration dropped." {file: "file:///Users/gkruitbosch/dev/fx-team/browser/components/loop/content/shared/libs/sdk-content/css/ot.css" line: 588 column: 19 source: "    -moz-box-shadow: 0 0 0px 0px #c70019;"}]
35 INFO Ignored error for file:///Users/gkruitbosch/dev/fx-team/browser/components/loop/content/shared/libs/sdk-content/css/ot.css because of filter.
36 INFO Console message: [JavaScript Warning: "Unknown property '-moz-box-shadow'.  Declaration dropped." {file: "file:///Users/gkruitbosch/dev/fx-team/browser/components/loop/content/shared/libs/sdk-content/css/ot.css" line: 594 column: 19 source: "    -moz-box-shadow: 0 0 5px 1px #c70019;"}]
37 INFO Ignored error for file:///Users/gkruitbosch/dev/fx-team/browser/components/loop/content/shared/libs/sdk-content/css/ot.css because of filter.
38 INFO Console message: [JavaScript Warning: "Unknown property '-moz-box-shadow'.  Declaration dropped." {file: "file:///Users/gkruitbosch/dev/fx-team/browser/components/loop/content/shared/libs/sdk-content/css/ot.css" line: 600 column: 19 source: "    -moz-box-shadow: 0 0 5px 1px #c70019;"}]
39 INFO Ignored error for file:///Users/gkruitbosch/dev/fx-team/browser/components/loop/content/shared/libs/sdk-content/css/ot.css because of filter.
40 INFO Console message: [JavaScript Warning: "Unknown property '-moz-box-shadow'.  Declaration dropped." {file: "file:///Users/gkruitbosch/dev/fx-team/browser/components/loop/content/shared/libs/sdk-content/css/ot.css" line: 606 column: 19 source: "    -moz-box-shadow: 0 0 0px 0px #c70019;"}]
41 INFO Ignored error for file:///Users/gkruitbosch/dev/fx-team/browser/components/loop/content/shared/libs/sdk-content/css/ot.css because of filter.
42 INFO Console message: [JavaScript Warning: "Unknown property '-moz-box-shadow'.  Declaration dropped." {file: "file:///Users/gkruitbosch/dev/fx-team/browser/components/loop/content/shared/libs/sdk-content/css/ot.css" line: 612 column: 19 source: "    -moz-box-shadow: 0 0 0px 0px #c70019;"}]
43 INFO Ignored error for file:///Users/gkruitbosch/dev/fx-team/browser/components/loop/content/shared/libs/sdk-content/css/ot.css because of filter.
44 INFO MEMORY STAT vsize after test: 3398840320
45 INFO MEMORY STAT vsizeMaxContiguous not supported in this build configuration.
46 INFO MEMORY STAT residentFast after test: 320868352
47 INFO MEMORY STAT heapAllocated after test: 143352016
48 INFO TEST-OK | chrome://mochitests/content/browser/browser/base/content/test/general/browser_parsable_css.js | took 1633ms
49 INFO checking window state
50 INFO Console message: [JavaScript Warning: "Error in parsing value for 'box-shadow'.  Declaration dropped." {file: "chrome://global/skin/in-content/common.css" line: 656 column: 14 source: "  box-shadow: @focusRingShadow@;"}]
TEST-UNEXPECTED-FAIL | unknown test url | uncaught exception - ReferenceError: ok is not defined at chrome://mochitests/content/browser/browser/base/content/test/general/browser_parsable_css.js:70
JavaScript error: chrome://mochitests/content/browser/browser/base/content/test/general/browser_parsable_css.js, line 70: ok is not defined
51 INFO TEST-START | Shutdown
52 INFO Browser Chrome Test Summary
53 INFO Passed:  0
54 INFO Failed:  1
55 INFO Todo:    0
56 INFO *** End BrowserChrome Test Results ***
###!!! [Parent][OnMaybeDequeueOne] Error: Channel closing: too late to send/recv, messages will be lost
###!!! [Parent][OnMaybeDequeueOne] Error: Channel closing: too late to send/recv, messages will be lost
###!!! [Child][DispatchAsyncMessage] Error: (msgtype=0xA60001,name=PTexture::Msg___delete__) Route error: message sent to unknown actor ID
###!!! [Child][DispatchAsyncMessage] Error: (msgtype=0xA60001,name=PTexture::Msg___delete__) Route error: message sent to unknown actor ID
###!!! [Child][DispatchAsyncMessage] Error: (msgtype=0xA60001,name=PTexture::Msg___delete__) Route error: message sent to unknown actor ID
###!!! [Child][DispatchAsyncMessage] Error: (msgtype=0xA60001,name=PTexture::Msg___delete__) Route error: message sent to unknown actor ID
###!!! [Child][DispatchAsyncMessage] Error: (msgtype=0xA60001,name=PTexture::Msg___delete__) Route error: message sent to unknown actor ID
###!!! [Child][DispatchAsyncMessage] Error: (msgtype=0xA60001,name=PTexture::Msg___delete__) Route error: message sent to unknown actor ID
###!!! [Child][DispatchAsyncMessage] Error: (msgtype=0xA60001,name=PTexture::Msg___delete__) Route error: message sent to unknown actor ID
###!!! [Parent][OnMaybeDequeueOne] Error: Channel closing: too late to send/recv, messages will be lost
###!!! [Parent][OnMaybeDequeueOne] Error: Channel closing: too late to send/recv, messages will be lost
###!!! [Parent][OnMaybeDequeueOne] Error: Channel closing: too late to send/recv, messages will be lost
TEST-INFO | Main app process: exit 0

runtests.py | Application ran for: 0:00:04.224900
zombiecheck | Reading PID log: /var/folders/2f/q_l6g8d13fzc8qcn4wmllmrc0000gn/T/tmpv4anwfpidlog
Stopping web server
Stopping web socket server
Stopping ssltunnel
WARNING | leakcheck | refcount logging is off, so leaks can't be detected!
runtests.py | Running tests: end.
The following tests failed:
57 INFO TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/base/content/test/general/browser_parsable_css.js | Uncaught exception - [object Object]
TEST-UNEXPECTED-FAIL | unknown test url | uncaught exception - ReferenceError: ok is not defined at chrome://mochitests/content/browser/browser/base/content/test/general/browser_parsable_css.js:70
SUITE-END | took 4s
Blocks: 1013518
For info, we use DOMUtils.parseStyleSheet in the devtools for the style-editor panel to apply the changes made to one of the stylesheet.

This could be another approach for this test, however it doesn't provide a way to retrieve CSS parsing errors synchronously, so we're still stuck with using a Console listener. And because that's executed asynchronously, we don't get to know about the errors before the test ends.

There could be away though: include 1 known erroneous buggy rule at the end of each stylesheet and make the test wait for the CSS error. This way, we'd be sure that the error listener would be called at least once for this error we added on purpose.
If only 1 error is retrieved, the test should pass, if more than 1, then the test should fail.

How does that sound?
Flags: needinfo?(gijskruitbosch+bugs)
(In reply to Patrick Brosset [:pbrosset] [:patrick] from comment #1)
> For info, we use DOMUtils.parseStyleSheet in the devtools for the
> style-editor panel to apply the changes made to one of the stylesheet.
> 
> This could be another approach for this test, however it doesn't provide a
> way to retrieve CSS parsing errors synchronously, so we're still stuck with
> using a Console listener. And because that's executed asynchronously, we
> don't get to know about the errors before the test ends.
> 
> There could be away though: include 1 known erroneous buggy rule at the end
> of each stylesheet and make the test wait for the CSS error. This way, we'd
> be sure that the error listener would be called at least once for this error
> we added on purpose.
> If only 1 error is retrieved, the test should pass, if more than 1, then the
> test should fail.
> 
> How does that sound?

Hacky! It also sounds workable, although we'd need to be careful, because I suspect that it's possible that errors earlier in the stylesheet could change the final error we'd add (ie, it might be tricky to detect that error as opposed to an earlier error (e.g. missing brace/comma/quote) which would break the remainder of the sheet, both resulting in exactly 1 error being present.

I also don't know what guarantees we have that the error at the end at the stylesheet is reported last...

I wonder if we can't just ask the core folks for a chrome-only API that sync-parses a string with the CSS parser and returns an error if it doesn't work, if there really isn't one already...

bz, do you have ideas as to how we can make this test more reliable?
Flags: needinfo?(gijskruitbosch+bugs) → needinfo?(bzbarsky)
So your basic issue is that the console service calls listeners async, right?

Have you looked into changing your load/error listeners to resolve/reject the promise off an executeSoon or equivalent?

Past that, we could in fact add a chrome only API, but it would be a bit of work, since you want all the errors, not just "there is an error"...
Flags: needinfo?(bzbarsky)
(In reply to Boris Zbarsky [:bz] from comment #3)
> So your basic issue is that the console service calls listeners async, right?

Yes.

> Have you looked into changing your load/error listeners to resolve/reject
> the promise off an executeSoon or equivalent?

Not yet, that seemed inherently racy to me. Are you saying the error reports are guaranteed to already be scheduled for next tick?

> Past that, we could in fact add a chrome only API, but it would be a bit of
> work, since you want all the errors, not just "there is an error"...

I mean, ideally, yes, but equally I'm more at ease with failing the test if there is an error, and then using the current method + waiting longer because we know for sure we're going to get error reports, rather than waiting a bit for everything and hoping we'll catch the errors if they're there.
> Are you saying the error reports are guaranteed to already be scheduled for next tick?

I _think_ they are, yes.

Adding an API that just returns a boolean for whether there were any errors at all should not be too painful, though will take a small bit of surgery on the CSS parser.
I came across this bug and took a look at an alternative approach. From looking at the console service, it appears that listeners are activated in an async manner, however, using getMessageArray() would appear to be a sync function, and get all the messages already in the console.

I tried the approach and hit a few issues. This patch is what I tried. It seems to work, save for the fact that the `yield Promise.all(allPromises);` currently throws.

For some reason, the onError is throwing on lots of css files. I don't know if it is meant to be or not - hence I added the ok(false,) line to get some extra info out.

I think if that is fixed, then this should do the right thing for checking for errors, though you might also want to reset the console at the start of this test (I'm not sure how that would affect running alongside other tests though).

Gijs: If you want to take and run with this, please do, I won't have time before the holidays.
It's quite possible that since the test doesn't currently work well, we've been adding lots more failures. I'll try to investigate later today.
Flags: needinfo?(gijskruitbosch+bugs)
(In reply to Gijs Kruitbosch from comment #7)
> It's quite possible that since the test doesn't currently work well, we've
> been adding lots more failures. I'll try to investigate later today.

... looks like that didn't happen. Let's put this in the backlog instead, so hopefully it gets done.
Points: --- → 5
Flags: qe-verify-
Flags: needinfo?(gijskruitbosch+bugs)
Flags: in-testsuite+
Flags: firefox-backlog+
Depends on: 1204577
Bug 1062821 - fix browser_parsable_css.js to actually catch errors, r?standard8
Attachment #8660819 - Flags: review?(standard8)
Assignee: nobody → gijskruitbosch+bugs
Status: NEW → ASSIGNED
https://reviewboard.mozilla.org/r/19163/#review17383

::: browser/base/content/test/general/browser_parsable_css.js:121
(Diff revision 1)
>    Services.console.registerListener(errorListener);

Shouldn't this have been removed?

::: browser/base/content/test/general/browser_parsable_css.js:150
(Diff revision 1)
> +      errors++;

There's something still failing here, I'm seeing:

58 INFO TEST-UNEXPECTED-FAIL | browser/base/content/test/general/browser_parsable_css.js | Uncaught exception - [object Object]

when I run this on my Mac opt build after having removed the errorListener registration.
Comment on attachment 8660819 [details]
MozReview Request: Bug 1062821 - fix browser_parsable_css.js to actually catch errors, r?standard8

https://reviewboard.mozilla.org/r/19165/#review17389
Attachment #8660819 - Flags: review?(standard8)
Comment on attachment 8660819 [details]
MozReview Request: Bug 1062821 - fix browser_parsable_css.js to actually catch errors, r?standard8

Bug 1062821 - fix browser_parsable_css.js to actually catch errors, r?standard8
Attachment #8660819 - Flags: review?(standard8)
https://reviewboard.mozilla.org/r/19165/#review17397

::: browser/themes/shared/devtools/floating-scrollbars-light.css:6
(Diff revision 2)
> -@import url("floating-scrollbars.css");
> +@import url("chrome://browser/skin/devtools/floating-scrollbars.css");

This is necessary because this file is not preprocessed, used a relative path to import floating-scrollbars.css, which then led to the non-preprocessed version of that being imported when running the test, and that then causes CSS parse errors because of the preprocessing instructions (obviously).

This breakage would only happen when running the test locally, not against the distribution (packaged) build.

Other solutions would be:
- preprocess this file, too (liable to that being removed again, inefficient)
- add an exception for the preprocessed file (means we'll hide "real" issues from that file when running locally)

- rearchitecturing the whole test to try to use chrome URIs. This is very difficult because there is no direct way to enumerate chrome URIs, so then you end up having to reconstruct them from the file/jar URIs, which is difficult, but would be the "best" way to fix this. I don't really want to do that in this bug, though. :-\

so I opted for this instead, though obviously this then means that if the location of these files ever changes, this needs to be updated.
Attachment #8660819 - Flags: review?(standard8) → review?(florian)
https://reviewboard.mozilla.org/r/19163/#review17543

::: browser/base/content/test/general/browser_parsable_css.js:146
(Diff revision 2)
> +    if (messageIsCSSError(m, innerWindowID, outerWindowID)) {

This looks like it could be cleaner with:

let errors = messages.filter(m => messageIsCSSError(m, innerWindowID, outerWindowID));

and then use errors.length instead of errors for the 'is' test.

Also, the 'Count errors'... comment should be above the code doing the counting.
And we no longer need to declare 'let errors' before the loop iterating uris.
Comment on attachment 8660819 [details]
MozReview Request: Bug 1062821 - fix browser_parsable_css.js to actually catch errors, r?standard8

https://reviewboard.mozilla.org/r/19165/#review17549
Attachment #8660819 - Flags: review?(florian) → review+
https://hg.mozilla.org/mozilla-central/rev/7dc9037bae6b
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 43
You need to log in before you can comment on or make changes to this bug.