Skip to content

Commit

Permalink
Fix browserstack iPhone browser issue. (tensorflow#3204)
Browse files Browse the repository at this point in the history
DEV Fix browserstack iPhone browser issue.
  • Loading branch information
lina128 committed May 4, 2020
1 parent 1fd2c98 commit 266d90d
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 24 deletions.
49 changes: 34 additions & 15 deletions tfjs-backend-webgl/karma.conf.js
Expand Up @@ -40,6 +40,24 @@ const karmaTypescriptConfig = {
}
};

const devConfig = {
frameworks: ['jasmine', 'karma-typescript'],
files: [
{pattern: './node_modules/@babel/polyfill/dist/polyfill.js'},
'src/setup_test.ts',
{pattern: 'src/**/*.ts'},
],
preprocessors: {'**/*.ts': ['karma-typescript']},
karmaTypescriptConfig,
reporters: ['dots', 'karma-typescript']
};

const browserstackConfig = {
...devConfig,
hostname: 'bs-local.com',
singleRun: true
};

module.exports = function(config) {
const args = [];
if (config.testEnv) {
Expand All @@ -51,34 +69,34 @@ module.exports = function(config) {
if (config.flags) {
args.push('--flags', config.flags);
}

let extraConfig = null;

if (config.browserstack) {
extraConfig = browserstackConfig;
} else {
extraConfig = devConfig;
}

let exclude = [];
if (config.excludeTest != null) {
exclude.push(config.excludeTest);
}

config.set({
frameworks: ['jasmine', 'karma-typescript'],
files: [
{pattern: './node_modules/@babel/polyfill/dist/polyfill.js'},
'src/setup_test.ts',
{pattern: 'src/**/*.ts'},
],
preprocessors: {'**/*.ts': ['karma-typescript']},
karmaTypescriptConfig,
reporters: ['dots', 'karma-typescript'],
...extraConfig,
exclude,
colors: true,
autoWatch: false,
browsers: ['Chrome'],
singleRun: true,
client: {jasmine: {random: false}, args: args},
browserStack: {
username: process.env.BROWSERSTACK_USERNAME,
accessKey: process.env.BROWSERSTACK_KEY
},
captureTimeout: 120000,
captureTimeout: 3e5,
reportSlowerThan: 500,
browserNoActivityTimeout: 240000,
browserNoActivityTimeout: 3e5,
browserDisconnectTimeout: 3e5,
browserDisconnectTolerance: 0,
browserSocketTimeout: 1.2e5,
customLaunchers: {
// For browserstack configs see:
// https://www.browserstack.com/automate/node
Expand Down Expand Up @@ -127,5 +145,6 @@ module.exports = function(config) {
os_version: '10'
},
},
client: {jasmine: {random: false}, args: args}
})
}
3 changes: 1 addition & 2 deletions tfjs-backend-webgl/scripts/test-ci.sh
Expand Up @@ -20,8 +20,7 @@ if [ "$NIGHTLY" = true ]
then
# Run the first karma separately so it can download the BrowserStack binary
# without conflicting with others.
# TODO(lina128): Add back bs_ios_11 once browserstack issue is resolved.
yarn run-browserstack --browsers=bs_safari_mac --testEnv webgl1 --flags '{"WEBGL_CPU_FORWARD": false, "WEBGL_SIZE_UPLOAD_UNIFORM": 0}'
yarn run-browserstack --browsers=bs_safari_mac,bs_ios_11 --testEnv webgl1 --flags '{"WEBGL_CPU_FORWARD": false, "WEBGL_SIZE_UPLOAD_UNIFORM": 0}'

# Run the rest of the karma tests in parallel. These runs will reuse the
# already downloaded binary.
Expand Down
11 changes: 6 additions & 5 deletions tfjs-core/karma.conf.js
Expand Up @@ -43,12 +43,12 @@ const devConfig = {
],
preprocessors: {'**/*.ts': ['karma-typescript']},
karmaTypescriptConfig,
reporters: ['dots', 'karma-typescript'],
reporters: ['dots', 'karma-typescript']
};

const browserstackConfig = {
...devConfig,
reporters: ['dots', 'karma-typescript'],
hostname: 'bs-local.com',
singleRun: true
};

Expand Down Expand Up @@ -99,11 +99,12 @@ module.exports = function(config) {
username: process.env.BROWSERSTACK_USERNAME,
accessKey: process.env.BROWSERSTACK_KEY
},
captureTimeout: 6e5,
captureTimeout: 3e5,
reportSlowerThan: 500,
browserNoActivityTimeout: 3e5,
browserDisconnectTimeout: 3e5,
browserDisconnectTolerance: 3,
browserDisconnectTolerance: 0,
browserSocketTimeout: 1.2e5,
customLaunchers: {
// For browserstack configs see:
// https://www.browserstack.com/automate/node
Expand Down Expand Up @@ -131,7 +132,7 @@ module.exports = function(config) {
bs_ios_11: {
base: 'BrowserStack',
device: 'iPhone X',
os: 'iOS',
os: 'ios',
os_version: '11.0',
real_mobile: true
},
Expand Down
3 changes: 1 addition & 2 deletions tfjs-core/scripts/test-ci.sh
Expand Up @@ -25,8 +25,7 @@ then
# without conflicting with others.
yarn run-browserstack --browsers=bs_chrome_mac

# TODO(lina128): Add back bs_ios_11 once browserstack issue is resolved.
yarn run-browserstack --browsers=bs_firefox_mac,bs_safari_mac,bs_android_9 --flags '{"HAS_WEBGL": false}' --testEnv cpu
yarn run-browserstack --browsers=bs_firefox_mac,bs_safari_mac,bs_ios_11,bs_android_9 --flags '{"HAS_WEBGL": false}' --testEnv cpu

### The next section tests TF.js in a webworker using the CPU backend.
echo "Start webworker test."
Expand Down

0 comments on commit 266d90d

Please sign in to comment.