Closed
Bug 607090
Opened 15 years ago
Closed 15 years ago
reading-data tests fail to run with "TypeError: this.__xulPanel is null"
Categories
(Add-on SDK Graveyard :: General, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: myk, Unassigned)
References
Details
On trunk, the reading-data example addon's tests fail to run with the exception "TypeError: this.__xulPanel is null":
--------------------------------------------------------------------------------
(addon-sdk)myk@myk:~/Projects/addon-sdk/examples/reading-data$ cfx test
Using binary at '/home/myk/bin/firefox'.
Using profile at '/tmp/tmpNU0Vqe.mozrunner'.
(firefox-bin:3459): GLib-WARNING **: g_set_prgname() called multiple times
Traceback (most recent call last):
File "resource://reading-data-addon-kit-lib/panel.js", line 264, in
_onInit: function _onInit() {
File "resource://reading-data-jetpack-core-lib/traits.js", line 151, in compose
return Composition(_compose.apply(null, traits.map(TraitDescriptor)));
File "resource://reading-data-jetpack-core-lib/traits.js", line 75, in TraitDescriptor
) ? object._trait(TraitDescriptor) : _trait(object)
File "resource://reading-data-jetpack-core-lib/traits/core.js", line 136, in trait
let descriptor = getOwnPropertyDescriptor(properties, key);
File "resource://reading-data-addon-kit-lib/panel.js", line 217, in
get _viewFrame() this.__xulPanel.children[0],
TypeError: this.__xulPanel is null
No tests were run
FAIL
Total time: 1.499582 seconds
Program terminated unsuccessfully.
--------------------------------------------------------------------------------
The line in question is:
get _viewFrame() this.__xulPanel.children[0],
Before that line is this code and comments that explain that this.__xulPanel might be null:
// While the panel is visible, this is the XUL <panel> we use to display it.
// Otherwise, it's null.
get _xulPanel() this.__xulPanel,
...
__xulPanel: null,
get _viewFrame() this.__xulPanel.children[0],
So _viewFrame should definitely be checking this.__xulPanel before trying to access a property of one of its properties, i.e. something like:
get _viewFrame() this.__xulPanel ? this.__xulPanel.children[0] : null,
Nevertheless, the tests pass on Firefox 4.0b6, so there may well be another problem here.
Irakli: any thoughts on this one?
FWIW, even with that null check, the tests still don't pass on trunk, due to:
--------------------------------------------------------------------------------
(addon-sdk)myk@myk:~/Projects/addon-sdk/examples/reading-data$ cfx test
Using binary at '/home/myk/bin/firefox'.
Using profile at '/tmp/tmpFgc_wq.mozrunner'.
(firefox-bin:3677): GLib-WARNING **: g_set_prgname() called multiple times
.info: My ID is 6724fc1b-3ec4-40e2-8583-8061088b3185
error: TEST FAILED: test-main.testReplace (exception)
error: An exception occurred.
Traceback (most recent call last):
File "chrome://browser/content/browser.js", line 6539, in delayedStartup
.init(window);
File "jar:file:///home/myk/Applications/firefox-trunk/omni.jar!/components/nsSessionStore.js", line 389, in sss_init
this.onLoad(aWindow);
File "jar:file:///home/myk/Applications/firefox-trunk/omni.jar!/components/nsSessionStore.js", line 727, in sss_onLoad
Services.obs.notifyObservers(null, NOTIFY_WINDOWS_RESTORED, "");
File "file:///tmp/tmpFgc_wq.mozrunner/extensions/xulapp@toolness.com/components/harness.js", line 385, in Harness_observe
this.load(lifeCycleObserver192.loadReason || "startup");
File "file:///tmp/tmpFgc_wq.mozrunner/extensions/xulapp@toolness.com/components/harness.js", line 317, in Harness_load
obSvc.notifyObservers(null, APP_READY_TOPIC, null);
File "resource://reading-data-jetpack-core-lib/observer-service.js", line 174, in
this.callback(subject, data);
File "resource://reading-data-test-harness-lib/run-tests.js", line 106, in doRunTests
callbacks.print);
File "resource://reading-data-test-harness-lib/run-tests.js", line 69, in runTests
onDone: onDone});
File "resource://reading-data-test-harness-lib/harness.js", line 367, in runTests
nextIteration();
File "resource://reading-data-test-harness-lib/harness.js", line 286, in nextIteration
onDone: nextIteration});
File "resource://reading-data-jetpack-core-lib/unit-test.js", line 50, in findAndRunTests
onDone: options.onDone});
File "resource://reading-data-jetpack-core-lib/unit-test.js", line 284, in startMany
runNextTest(this);
File "resource://reading-data-jetpack-core-lib/unit-test.js", line 280, in runNextTest
self.start({test: test, onDone: runNextTest});
File "resource://reading-data-jetpack-core-lib/unit-test.js", line 298, in start
this.test.testFunction(this);
File "resource://reading-data-jetpack-core-lib/unit-test.js", line 63, in runTest
test(runner);
File "resource://reading-data-reading-data-tests/test-main.js", line 11, in
m.main({ staticArgs: {} }, callbacks);
File "resource://reading-data-reading-data-lib/main.js", line 14, in
var helloHTML = self.data.load("sample.html");
File "resource://reading-data-jetpack-core-lib/self.js", line 49, in load
let data = file.read(fn);
File "resource://reading-data-jetpack-core-lib/file.js", line 95, in read
var stream = exports.open(filename);
File "resource://reading-data-jetpack-core-lib/file.js", line 161, in open
ensureFile(file);
File "resource://reading-data-jetpack-core-lib/file.js", line 77, in ensureFile
ensureExists(file);
File "resource://reading-data-jetpack-core-lib/file.js", line 85, in ensureExists
filename: file.path
File "resource://reading-data-jetpack-core-lib/xpcom.js", line 185, in friendlyError
return new Error("path does not exist: " + filename);
Error: path does not exist: /home/myk/Projects/addon-sdk/packages/jetpack-core/data/sample.html
.error: fail: "resource://reading-data-jetpack-core-data/sample.html" != "resource://reading-data-reading-data-data/sample.html"
info: Traceback (most recent call last):
File "resource://reading-data-jetpack-core-lib/timer.js", line 64, in notifyOnTimeout
this._callback.apply(null, this._params);
File "resource://reading-data-jetpack-core-lib/unit-test.js", line 255, in anonymous
timer.setTimeout(function() { onDone(self); }, 0);
File "resource://reading-data-jetpack-core-lib/unit-test.js", line 280, in runNextTest
self.start({test: test, onDone: runNextTest});
File "resource://reading-data-jetpack-core-lib/unit-test.js", line 298, in start
this.test.testFunction(this);
File "resource://reading-data-jetpack-core-lib/unit-test.js", line 63, in runTest
test(runner);
File "resource://reading-data-reading-data-tests/test-main.js", line 19, in anonymous
"resource://reading-data-reading-data-data/sample.html");
File "resource://reading-data-jetpack-core-lib/unit-test.js", line 227, in assertEqual
this.fail(message);
File "resource://reading-data-jetpack-core-lib/unit-test.js", line 145, in fail
console.trace();
File "resource://reading-data-jetpack-core-lib/plain-text-console.js", line 98, in trace
var stack = traceback.get();
2 of 4 tests passed.
FAIL
Total time: 1.923245 seconds
Program terminated unsuccessfully.
--------------------------------------------------------------------------------
| Reporter | ||
Comment 1•15 years ago
|
||
Recent platform fixes appear to have resolved this problem.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
| Reporter | ||
Comment 2•15 years ago
|
||
The Add-on SDK is no longer a Mozilla Labs experiment and has become a big enough project to warrant its own Bugzilla product, so the "Add-on SDK" product has been created for it, and I am moving its bugs to that product.
To filter bugmail related to this change, filter on the word "looptid".
Component: Jetpack SDK → General
Product: Mozilla Labs → Add-on SDK
QA Contact: jetpack-sdk → general
You need to log in
before you can comment on or make changes to this bug.
Description
•