Closed
Bug 1210303
Opened 10 years ago
Closed 10 years ago
marionette-extension should support v2.5
Categories
(Remote Protocol :: Marionette, defect)
Remote Protocol
Marionette
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: wachen, Assigned: wachen)
Details
Attachments
(1 file)
We'll need marionette-extension support v2.5 officially
| Assignee | ||
Comment 1•10 years ago
|
||
| Assignee | ||
Updated•10 years ago
|
Assignee: nobody → wachen
QA Contact: wachen
| Assignee | ||
Comment 2•10 years ago
|
||
Jonathan, I don't know where to start. Can you give me some hints?
Flags: needinfo?(jgriffin)
Comment 3•10 years ago
|
||
So basically, you need to create a 2.5 dir under bundles, and then copy all the files from the correct gecko repo at /testing/specialpowers into the same directory structure used for the earlier bundles.
Then, you need to copy all the .js files from /testing/marionette into 2.5/marionette@mozilla.org/chrome/content. Then, copy chrome.manifest and install.rdf from the 2.2 bundle to the 2.5 bundle in marionette@mozilla.org.
Finally, you need to copy testing/marionette/components/marionettecomponent.js from gecko into 2.5/marionette@mozilla.org/components and rename it to marionetteextensioncomponent.js. You also need to modify the file as follows:
* replace MARIONETTE_CONTRACTID value with "@mozilla.org/marionetteextension;1"
* change the profile-after-change listener to always start Marionette and not be dependent on build flags or command lines
* change the component name from MarionetteComponent to MarionetteExtensionComponent
I think that should do it. Let me know if you run into troubles.
Flags: needinfo?(jgriffin)
| Assignee | ||
Comment 4•10 years ago
|
||
just a note for profile-after-change always start marionette:
this.enabled = true;
this.logger.info("marionette enabled via extension");
// We want to suppress the modal dialog that's shown
// when starting up in safe-mode to enable testing.
if (Services.appinfo.inSafeMode) {
this.observerService.addObserver(this, "domwindowopened", false);
}
| Assignee | ||
Comment 5•10 years ago
|
||
Please help me with reviewing the PR. thanks.
Attachment #8670603 -
Flags: review?(jgriffin)
Attachment #8670603 -
Flags: review?(fyen)
| Assignee | ||
Updated•10 years ago
|
Flags: needinfo?(jgriffin)
Comment 6•10 years ago
|
||
Comment on attachment 8670603 [details] [review]
Pull Request
LGTM.
But should modify the title of rst file.
Attachment #8670603 -
Flags: review?(fyen) → review+
| Assignee | ||
Comment 7•10 years ago
|
||
I got something like this
0:46.73 LOG: MainThread CRITICAL Traceback (most recent call last):
File "/home/wachen/FirefoxOS/fxos-certsuite/.mcts_vm/local/lib/python2.7/site-packages/fxos_certsuite-0.1-py2.7.egg/mcts/certsuite/cert.py", line 818, in cli
_run(args, logger)
File "/home/wachen/FirefoxOS/fxos-certsuite/.mcts_vm/local/lib/python2.7/site-packages/fxos_certsuite-0.1-py2.7.egg/mcts/certsuite/cert.py", line 754, in _run
test_permissions(logger, report, args, addr)
File "/home/wachen/FirefoxOS/fxos-certsuite/.mcts_vm/local/lib/python2.7/site-packages/fxos_certsuite-0.1-py2.7.egg/mcts/certsuite/cert.py", line 234, in test_permissions
all_perm=True)
File "/home/wachen/FirefoxOS/fxos-certsuite/.mcts_vm/local/lib/python2.7/site-packages/fxos_appgen-0.15-py2.7.egg/fxos_appgen/generator.py", line 136, in generate_app
install_app(app_name, app_path, adb_path, marionette=marionette, device_serial=device_serial)
File "/home/wachen/FirefoxOS/fxos-certsuite/.mcts_vm/local/lib/python2.7/site-packages/fxos_appgen-0.15-py2.7.egg/fxos_appgen/generator.py", line 404, in install_app
m.execute_async_script(script)
File "/home/wachen/FirefoxOS/fxos-certsuite/.mcts_vm/local/lib/python2.7/site-packages/marionette_driver-0.13-py2.7.egg/marionette_driver/marionette.py", line 1551, in execute_async_script
rv = self._send_message("executeAsyncScript", body, key="value")
File "/home/wachen/FirefoxOS/fxos-certsuite/.mcts_vm/local/lib/python2.7/site-packages/marionette_driver-0.13-py2.7.egg/marionette_driver/decorators.py", line 36, in _
return func(*args, **kwargs)
File "/home/wachen/FirefoxOS/fxos-certsuite/.mcts_vm/local/lib/python2.7/site-packages/marionette_driver-0.13-py2.7.egg/marionette_driver/marionette.py", line 711, in _send_message
self._handle_error(resp)
File "/home/wachen/FirefoxOS/fxos-certsuite/.mcts_vm/local/lib/python2.7/site-packages/marionette_driver-0.13-py2.7.egg/marionette_driver/marionette.py", line 752, in _handle_error
raise errors.lookup(error)(message, stacktrace=stacktrace)
JavascriptException: JavascriptException: Module `devtools/app-actor-front` is not found at resource://gre/modules/devtools/app-actor-front.js
stacktrace:
execute_async_script @generator.py, line 404
inline javascript, line 3
src: "const {installPackaged} = require("devtools/app-actor-front");"
Stack:
__marionetteFunc@generator.py:3:27
@generator.py:41:3
GeckoDriver.prototype.executeScriptInSandbox@chrome://marionette/content/driver.js:844:13
GeckoDriver.prototype.executeWithCallback/res<@chrome://marionette/content/driver.js:1182:7
GeckoDriver.prototype.executeWithCallback@chrome://marionette/content/driver.js:1084:1
TaskImpl_run@resource://gre/modules/Task.jsm:330:41
TaskImpl@resource://gre/modules/Task.jsm:275:3
createAsyncFunction/asyncFunction@resource://gre/modules/Task.jsm:249:14
Task_spawn@resource://gre/modules/Task.jsm:164:12
TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:381:1
TaskImpl_run@resource://gre/modules/Task.jsm:322:13
TaskImpl@resource://gre/modules/Task.jsm:275:3
createAsyncFunction/asyncFunction@resource://gre/modules/Task.jsm:249:14
Task_spawn@resource://gre/modules/Task.jsm:164:12
CommandProcessor.prototype.execute@chrome://marionette/content/command.js:145:13
Dispatcher.prototype.onPacket@chrome://marionette/content/dispatcher.js:72:5
DebuggerTransport.prototype._onJSONObjectReady/<@resource://gre/modules/devtools/shared/transport/transport.js:479:9
makeInfallible/<@resource://gre/modules/devtools/shared/DevToolsUtils.js:87:14
makeInfallible/<@resource://gre/modules/devtools/shared/DevToolsUtils.js:87:14
0:46.73 PROCESS_OUTPUT: ProcessReader (pid:14066) "Traceback (most recent call last):"
0:46.73 PROCESS_OUTPUT: ProcessReader (pid:14066) " File "/home/wachen/FirefoxOS/fxos-certsuite/.mcts_vm/bin/cert", line 9, in <module>"
0:46.73 PROCESS_OUTPUT: ProcessReader (pid:14066) " load_entry_point('fxos-certsuite==0.1', 'console_scripts', 'cert')()"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " File "/home/wachen/FirefoxOS/fxos-certsuite/.mcts_vm/local/lib/python2.7/site-packages/fxos_certsuite-0.1-py2.7.egg/mcts/certsuite/cert.py", line 818, in cli"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " _run(args, logger)"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " File "/home/wachen/FirefoxOS/fxos-certsuite/.mcts_vm/local/lib/python2.7/site-packages/fxos_certsuite-0.1-py2.7.egg/mcts/certsuite/cert.py", line 754, in _run"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " test_permissions(logger, report, args, addr)"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " File "/home/wachen/FirefoxOS/fxos-certsuite/.mcts_vm/local/lib/python2.7/site-packages/fxos_certsuite-0.1-py2.7.egg/mcts/certsuite/cert.py", line 234, in test_permissions"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " all_perm=True)"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " File "/home/wachen/FirefoxOS/fxos-certsuite/.mcts_vm/local/lib/python2.7/site-packages/fxos_appgen-0.15-py2.7.egg/fxos_appgen/generator.py", line 136, in generate_app"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " install_app(app_name, app_path, adb_path, marionette=marionette, device_serial=device_serial)"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " File "/home/wachen/FirefoxOS/fxos-certsuite/.mcts_vm/local/lib/python2.7/site-packages/fxos_appgen-0.15-py2.7.egg/fxos_appgen/generator.py", line 404, in install_app"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " m.execute_async_script(script)"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " File "/home/wachen/FirefoxOS/fxos-certsuite/.mcts_vm/local/lib/python2.7/site-packages/marionette_driver-0.13-py2.7.egg/marionette_driver/marionette.py", line 1551, in execute_async_script"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " rv = self._send_message("executeAsyncScript", body, key="value")"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " File "/home/wachen/FirefoxOS/fxos-certsuite/.mcts_vm/local/lib/python2.7/site-packages/marionette_driver-0.13-py2.7.egg/marionette_driver/decorators.py", line 36, in _"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " return func(*args, **kwargs)"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " File "/home/wachen/FirefoxOS/fxos-certsuite/.mcts_vm/local/lib/python2.7/site-packages/marionette_driver-0.13-py2.7.egg/marionette_driver/marionette.py", line 711, in _send_message"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " self._handle_error(resp)"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " File "/home/wachen/FirefoxOS/fxos-certsuite/.mcts_vm/local/lib/python2.7/site-packages/marionette_driver-0.13-py2.7.egg/marionette_driver/marionette.py", line 752, in _handle_error"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " raise errors.lookup(error)(message, stacktrace=stacktrace)"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) "marionette_driver.errors.JavascriptException: JavascriptException: Module `devtools/app-actor-front` is not found at resource://gre/modules/devtools/app-actor-front.js"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) "stacktrace:"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " execute_async_script @generator.py, line 404"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " inline javascript, line 3"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " src: "const {installPackaged} = require("devtools/app-actor-front");""
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " Stack:"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " __marionetteFunc@generator.py:3:27"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " @generator.py:41:3"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " GeckoDriver.prototype.executeScriptInSandbox@chrome://marionette/content/driver.js:844:13"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " GeckoDriver.prototype.executeWithCallback/res<@chrome://marionette/content/driver.js:1182:7"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " GeckoDriver.prototype.executeWithCallback@chrome://marionette/content/driver.js:1084:1"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " TaskImpl_run@resource://gre/modules/Task.jsm:330:41"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " TaskImpl@resource://gre/modules/Task.jsm:275:3"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " createAsyncFunction/asyncFunction@resource://gre/modules/Task.jsm:249:14"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " Task_spawn@resource://gre/modules/Task.jsm:164:12"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:381:1"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " TaskImpl_run@resource://gre/modules/Task.jsm:322:13"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " TaskImpl@resource://gre/modules/Task.jsm:275:3"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " createAsyncFunction/asyncFunction@resource://gre/modules/Task.jsm:249:14"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " Task_spawn@resource://gre/modules/Task.jsm:164:12"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " CommandProcessor.prototype.execute@chrome://marionette/content/command.js:145:13"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " Dispatcher.prototype.onPacket@chrome://marionette/content/dispatcher.js:72:5"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " DebuggerTransport.prototype._onJSONObjectReady/<@resource://gre/modules/devtools/shared/transport/transport.js:479:9"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " makeInfallible/<@resource://gre/modules/devtools/shared/DevToolsUtils.js:87:14"
0:46.74 PROCESS_OUTPUT: ProcessReader (pid:14066) " makeInfallible/<@resource://gre/modules/devtools/shared/DevToolsUtils.js:87:14"
any ideas?
Comment 8•10 years ago
|
||
Comment on attachment 8670603 [details] [review]
Pull Request
lgtm
Flags: needinfo?(jgriffin)
Attachment #8670603 -
Flags: review?(jgriffin) → review+
| Assignee | ||
Updated•10 years ago
|
Keywords: checkin-needed
| Assignee | ||
Comment 9•10 years ago
|
||
as comment 6 states, please help me with merging.
Flags: needinfo?(atsai)
| Assignee | ||
Comment 10•10 years ago
|
||
(also, comment 8)
| Assignee | ||
Updated•10 years ago
|
Flags: needinfo?(atsai) → needinfo?(fyen)
Comment 11•10 years ago
|
||
merged
https://github.com/mozilla-b2g/marionette-extension/commit/ad2283555ef41bace70b3c860f54ca98d6811bee
Flags: needinfo?(fyen)
| Assignee | ||
Comment 12•10 years ago
|
||
Thanks.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Comment 13•10 years ago
|
||
walter, is there anything left for the checkin-needed request ?
Flags: needinfo?(wachen)
Updated•10 years ago
|
Keywords: checkin-needed
Updated•3 years ago
|
Product: Testing → Remote Protocol
You need to log in
before you can comment on or make changes to this bug.
Description
•