mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-21 21:52:11 +00:00
* fix bundle for multi-thread, add e2e test and support nodejs * add copyright banner * resolve comments * add comments for isMultiThreadSupported()
176 lines
5.1 KiB
JavaScript
176 lines
5.1 KiB
JavaScript
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// Licensed under the MIT License.
|
|
|
|
const bundleMode = require('minimist')(process.argv)['bundle-mode'] || 'dev'; // 'dev'|'perf'|undefined;
|
|
const karmaPlugins = require('minimist')(process.argv)['karma-plugins'] || undefined;
|
|
const timeoutMocha = require('minimist')(process.argv)['timeout-mocha'] || 60000;
|
|
const commonFile = bundleMode === 'dev' ? '../common/dist/ort-common.js' : '../common/dist/ort-common.min.js'
|
|
const mainFile = bundleMode === 'dev' ? 'test/ort.dev.js' : 'test/ort.perf.js';
|
|
|
|
// it's a known issue that Safari does not work with "localhost" in BrowserStack:
|
|
// https://www.browserstack.com/question/663
|
|
//
|
|
// we need to read machine IP address to replace "localhost":
|
|
// https://stackoverflow.com/a/8440736
|
|
//
|
|
function getMachineIpAddress() {
|
|
var os = require('os');
|
|
var ifaces = os.networkInterfaces();
|
|
|
|
for (const ifname in ifaces) {
|
|
for (const iface of ifaces[ifname]) {
|
|
if ('IPv4' !== iface.family || iface.internal !== false) {
|
|
// skip over internal (i.e. 127.0.0.1) and non-ipv4 addresses
|
|
continue;
|
|
}
|
|
|
|
// returns the first available IP address
|
|
return iface.address;
|
|
}
|
|
}
|
|
|
|
// if no available IP address, fallback to "localhost".
|
|
return 'localhost';
|
|
}
|
|
|
|
module.exports = function (config) {
|
|
config.set({
|
|
// global config of your BrowserStack account
|
|
browserStack: {
|
|
username: process.env.BROWSER_STACK_USERNAME,
|
|
accessKey: process.env.BROWSER_STACK_ACCESS_KEY,
|
|
forceLocal: true,
|
|
startTunnel: true,
|
|
},
|
|
frameworks: ['mocha'],
|
|
files: [
|
|
{ pattern: commonFile },
|
|
{ pattern: mainFile },
|
|
{ pattern: 'test/testdata-file-cache-*.json', included: false },
|
|
{ pattern: 'test/data/**/*', included: false, nocache: true },
|
|
{ pattern: 'dist/ort-wasm.wasm', included: false },
|
|
{ pattern: 'dist/ort-wasm-threaded.wasm', included: false },
|
|
{ pattern: 'dist/ort-wasm-threaded.worker.js', included: false },
|
|
],
|
|
proxies: {
|
|
'/base/test/ort-wasm.wasm': '/base/dist/ort-wasm.wasm',
|
|
'/base/test/ort-wasm-threaded.wasm': '/base/dist/ort-wasm-threaded.wasm',
|
|
'/base/test/ort-wasm-threaded.worker.js': '/base/dist/ort-wasm-threaded.worker.js',
|
|
},
|
|
plugins: karmaPlugins,
|
|
client: { captureConsole: true, mocha: { expose: ['body'], timeout: timeoutMocha } },
|
|
preprocessors: { mainFile: ['sourcemap'] },
|
|
reporters: ['mocha', 'BrowserStack'],
|
|
browsers: [],
|
|
captureTimeout: 120000,
|
|
reportSlowerThan: 100,
|
|
browserDisconnectTimeout: 600000,
|
|
browserNoActivityTimeout: 300000,
|
|
browserDisconnectTolerance: 0,
|
|
browserSocketTimeout: 60000,
|
|
hostname: getMachineIpAddress(),
|
|
customLaunchers: {
|
|
ChromeTest: { base: 'Chrome', flags: ['--window-size=1,1'] },
|
|
ChromeDebug: { debug: true, base: 'Chrome', flags: ['--remote-debugging-port=9333'] },
|
|
//
|
|
// ==== BrowserStack browsers ====
|
|
//
|
|
|
|
// Windows
|
|
//
|
|
BS_WIN_10_Chrome_73: {
|
|
base: 'BrowserStack',
|
|
browser: 'Chrome',
|
|
browser_version: '73.0',
|
|
os: 'Windows',
|
|
os_version: '10',
|
|
},
|
|
BS_WIN_10_Edge_18: {
|
|
base: 'BrowserStack',
|
|
os: 'Windows',
|
|
os_version: '10',
|
|
browser: 'Edge',
|
|
browser_version: '18.0',
|
|
},
|
|
BS_WIN_10_Firefox_66: {
|
|
base: 'BrowserStack',
|
|
os: 'Windows',
|
|
os_version: '10',
|
|
browser: 'Firefox',
|
|
browser_version: '66.0',
|
|
},
|
|
BS_WIN_7_Chrome_63: {
|
|
base: 'BrowserStack',
|
|
browser: 'Chrome',
|
|
browser_version: '63.0',
|
|
os: 'Windows',
|
|
os_version: '7',
|
|
},
|
|
|
|
// macOS
|
|
//
|
|
BS_MAC_10_14_Safari_12: {
|
|
base: 'BrowserStack',
|
|
os: 'OS X',
|
|
os_version: 'Mojave',
|
|
browser: 'Safari',
|
|
browser_version: '12.0',
|
|
},
|
|
BS_MAC_10_14_Chrome_73: {
|
|
base: 'BrowserStack',
|
|
os: 'OS X',
|
|
os_version: 'Mojave',
|
|
browser: 'Chrome',
|
|
browser_version: '73.0',
|
|
},
|
|
BS_MAC_10_13_Safari_11_1: {
|
|
base: 'BrowserStack',
|
|
os: 'OS X',
|
|
os_version: 'High Sierra',
|
|
browser: 'Safari',
|
|
browser_version: '11.1',
|
|
},
|
|
|
|
// iPhone
|
|
//
|
|
BS_IOS_12_1_iPhoneXS: {
|
|
base: 'BrowserStack',
|
|
device: 'iPhone XS',
|
|
real_mobile: true,
|
|
os: 'ios',
|
|
os_version: '12.1',
|
|
},
|
|
BS_IOS_11_iPhoneX: {
|
|
base: 'BrowserStack',
|
|
device: 'iPhone X',
|
|
real_mobile: true,
|
|
os: 'ios',
|
|
os_version: '11',
|
|
},
|
|
BS_IOS_10_3_iPhone7: {
|
|
base: 'BrowserStack',
|
|
device: 'iPhone 7',
|
|
real_mobile: true,
|
|
os: 'ios',
|
|
os_version: '10.3',
|
|
},
|
|
|
|
// Android
|
|
//
|
|
BS_ANDROID_9_Pixel_3: {
|
|
base: 'BrowserStack',
|
|
device: 'Google Pixel 3',
|
|
real_mobile: true,
|
|
os: 'android',
|
|
os_version: '9.0',
|
|
},
|
|
BS_ANDROID_7_1_Galaxy_Note_8: {
|
|
base: 'BrowserStack',
|
|
device: 'Samsung Galaxy Note 8',
|
|
real_mobile: true,
|
|
os: 'android',
|
|
os_version: '7.1',
|
|
},
|
|
}
|
|
});
|
|
};
|