Skip to content

Commit 266d90d

Browse files
authored
Fix browserstack iPhone browser issue. (#3204)
DEV Fix browserstack iPhone browser issue.
1 parent 1fd2c98 commit 266d90d

File tree

4 files changed

+42
-24
lines changed

4 files changed

+42
-24
lines changed

tfjs-backend-webgl/karma.conf.js

Lines changed: 34 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,24 @@ const karmaTypescriptConfig = {
4040
}
4141
};
4242

43+
const devConfig = {
44+
frameworks: ['jasmine', 'karma-typescript'],
45+
files: [
46+
{pattern: './node_modules/@babel/polyfill/dist/polyfill.js'},
47+
'src/setup_test.ts',
48+
{pattern: 'src/**/*.ts'},
49+
],
50+
preprocessors: {'**/*.ts': ['karma-typescript']},
51+
karmaTypescriptConfig,
52+
reporters: ['dots', 'karma-typescript']
53+
};
54+
55+
const browserstackConfig = {
56+
...devConfig,
57+
hostname: 'bs-local.com',
58+
singleRun: true
59+
};
60+
4361
module.exports = function(config) {
4462
const args = [];
4563
if (config.testEnv) {
@@ -51,34 +69,34 @@ module.exports = function(config) {
5169
if (config.flags) {
5270
args.push('--flags', config.flags);
5371
}
72+
73+
let extraConfig = null;
74+
75+
if (config.browserstack) {
76+
extraConfig = browserstackConfig;
77+
} else {
78+
extraConfig = devConfig;
79+
}
80+
5481
let exclude = [];
5582
if (config.excludeTest != null) {
5683
exclude.push(config.excludeTest);
5784
}
5885

5986
config.set({
60-
frameworks: ['jasmine', 'karma-typescript'],
61-
files: [
62-
{pattern: './node_modules/@babel/polyfill/dist/polyfill.js'},
63-
'src/setup_test.ts',
64-
{pattern: 'src/**/*.ts'},
65-
],
66-
preprocessors: {'**/*.ts': ['karma-typescript']},
67-
karmaTypescriptConfig,
68-
reporters: ['dots', 'karma-typescript'],
87+
...extraConfig,
6988
exclude,
70-
colors: true,
71-
autoWatch: false,
7289
browsers: ['Chrome'],
73-
singleRun: true,
74-
client: {jasmine: {random: false}, args: args},
7590
browserStack: {
7691
username: process.env.BROWSERSTACK_USERNAME,
7792
accessKey: process.env.BROWSERSTACK_KEY
7893
},
79-
captureTimeout: 120000,
94+
captureTimeout: 3e5,
8095
reportSlowerThan: 500,
81-
browserNoActivityTimeout: 240000,
96+
browserNoActivityTimeout: 3e5,
97+
browserDisconnectTimeout: 3e5,
98+
browserDisconnectTolerance: 0,
99+
browserSocketTimeout: 1.2e5,
82100
customLaunchers: {
83101
// For browserstack configs see:
84102
// https://www.browserstack.com/automate/node
@@ -127,5 +145,6 @@ module.exports = function(config) {
127145
os_version: '10'
128146
},
129147
},
148+
client: {jasmine: {random: false}, args: args}
130149
})
131150
}

tfjs-backend-webgl/scripts/test-ci.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@ if [ "$NIGHTLY" = true ]
2020
then
2121
# Run the first karma separately so it can download the BrowserStack binary
2222
# without conflicting with others.
23-
# TODO(lina128): Add back bs_ios_11 once browserstack issue is resolved.
24-
yarn run-browserstack --browsers=bs_safari_mac --testEnv webgl1 --flags '{"WEBGL_CPU_FORWARD": false, "WEBGL_SIZE_UPLOAD_UNIFORM": 0}'
23+
yarn run-browserstack --browsers=bs_safari_mac,bs_ios_11 --testEnv webgl1 --flags '{"WEBGL_CPU_FORWARD": false, "WEBGL_SIZE_UPLOAD_UNIFORM": 0}'
2524

2625
# Run the rest of the karma tests in parallel. These runs will reuse the
2726
# already downloaded binary.

tfjs-core/karma.conf.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,12 @@ const devConfig = {
4343
],
4444
preprocessors: {'**/*.ts': ['karma-typescript']},
4545
karmaTypescriptConfig,
46-
reporters: ['dots', 'karma-typescript'],
46+
reporters: ['dots', 'karma-typescript']
4747
};
4848

4949
const browserstackConfig = {
5050
...devConfig,
51-
reporters: ['dots', 'karma-typescript'],
51+
hostname: 'bs-local.com',
5252
singleRun: true
5353
};
5454

@@ -99,11 +99,12 @@ module.exports = function(config) {
9999
username: process.env.BROWSERSTACK_USERNAME,
100100
accessKey: process.env.BROWSERSTACK_KEY
101101
},
102-
captureTimeout: 6e5,
102+
captureTimeout: 3e5,
103103
reportSlowerThan: 500,
104104
browserNoActivityTimeout: 3e5,
105105
browserDisconnectTimeout: 3e5,
106-
browserDisconnectTolerance: 3,
106+
browserDisconnectTolerance: 0,
107+
browserSocketTimeout: 1.2e5,
107108
customLaunchers: {
108109
// For browserstack configs see:
109110
// https://www.browserstack.com/automate/node
@@ -131,7 +132,7 @@ module.exports = function(config) {
131132
bs_ios_11: {
132133
base: 'BrowserStack',
133134
device: 'iPhone X',
134-
os: 'iOS',
135+
os: 'ios',
135136
os_version: '11.0',
136137
real_mobile: true
137138
},

tfjs-core/scripts/test-ci.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ then
2525
# without conflicting with others.
2626
yarn run-browserstack --browsers=bs_chrome_mac
2727

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

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

0 commit comments

Comments
 (0)