Merge pull request #2619 from etiktin/ignore_native_modules_in_debug_tests_windows
Skip native modules in debug tests on Windows
This commit is contained in:
commit
71d257b190
4 changed files with 40 additions and 22 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -17,3 +17,4 @@ node_modules/
|
|||
*.pyc
|
||||
debug.log
|
||||
npm-debug.log
|
||||
atom/common/chrome_version.h
|
||||
|
|
|
@ -54,7 +54,7 @@ You can also only build the Debug target:
|
|||
python script\build.py -c D
|
||||
```
|
||||
|
||||
After building is done, you can find `electron.exe` under `out\D` (debug
|
||||
After building is done, you can find `electron.exe` under `out\D` (debug
|
||||
target) or under `out\R` (release target).
|
||||
|
||||
## 64bit build
|
||||
|
@ -82,6 +82,15 @@ Test functionality using:
|
|||
python script\test.py
|
||||
```
|
||||
|
||||
Tests that include native modules (e.g. `runas`) can't be executed with the
|
||||
debug build (see #2558 for details), but they will work with the release build.
|
||||
|
||||
To run the tests with the release build use:
|
||||
|
||||
```powershell
|
||||
python script\test.py -R
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Command xxxx not found
|
||||
|
|
|
@ -7,16 +7,20 @@ describe 'third-party module', ->
|
|||
fixtures = path.join __dirname, 'fixtures'
|
||||
temp.track()
|
||||
|
||||
describe 'runas', ->
|
||||
it 'can be required in renderer', ->
|
||||
require 'runas'
|
||||
# If the test is executed with the debug build on Windows, we will skip it
|
||||
# because native modules don't work with the debug build (see issue #2558).
|
||||
if process.platform isnt 'win32' or
|
||||
process.execPath.toLowerCase().indexOf('\\out\\d\\') is -1
|
||||
describe 'runas', ->
|
||||
it 'can be required in renderer', ->
|
||||
require 'runas'
|
||||
|
||||
it 'can be required in node binary', (done) ->
|
||||
runas = path.join fixtures, 'module', 'runas.js'
|
||||
child = require('child_process').fork runas
|
||||
child.on 'message', (msg) ->
|
||||
assert.equal msg, 'ok'
|
||||
done()
|
||||
it 'can be required in node binary', (done) ->
|
||||
runas = path.join fixtures, 'module', 'runas.js'
|
||||
child = require('child_process').fork runas
|
||||
child.on 'message', (msg) ->
|
||||
assert.equal msg, 'ok'
|
||||
done()
|
||||
|
||||
describe 'q', ->
|
||||
Q = require 'q'
|
||||
|
|
|
@ -48,18 +48,22 @@ describe '<webview> tag', ->
|
|||
webview.src = "file://#{fixtures}/pages/d.html"
|
||||
document.body.appendChild webview
|
||||
|
||||
it 'loads native modules when navigation happens', (done) ->
|
||||
listener = (e) ->
|
||||
webview.removeEventListener 'did-finish-load', listener
|
||||
listener2 = (e) ->
|
||||
assert.equal e.message, 'function'
|
||||
done()
|
||||
webview.addEventListener 'console-message', listener2
|
||||
webview.reload()
|
||||
webview.addEventListener 'did-finish-load', listener
|
||||
webview.setAttribute 'nodeintegration', 'on'
|
||||
webview.src = "file://#{fixtures}/pages/native-module.html"
|
||||
document.body.appendChild webview
|
||||
# If the test is executed with the debug build on Windows, we will skip it
|
||||
# because native modules don't work with the debug build (see issue #2558).
|
||||
if process.platform isnt 'win32' or
|
||||
process.execPath.toLowerCase().indexOf('\\out\\d\\') is -1
|
||||
it 'loads native modules when navigation happens', (done) ->
|
||||
listener = (e) ->
|
||||
webview.removeEventListener 'did-finish-load', listener
|
||||
listener2 = (e) ->
|
||||
assert.equal e.message, 'function'
|
||||
done()
|
||||
webview.addEventListener 'console-message', listener2
|
||||
webview.reload()
|
||||
webview.addEventListener 'did-finish-load', listener
|
||||
webview.setAttribute 'nodeintegration', 'on'
|
||||
webview.src = "file://#{fixtures}/pages/native-module.html"
|
||||
document.body.appendChild webview
|
||||
|
||||
describe 'preload attribute', ->
|
||||
it 'loads the script before other scripts in window', (done) ->
|
||||
|
|
Loading…
Reference in a new issue