1*c8dee2aaSAndroid Build Coastguard Workerconst path = require('path'); 2*c8dee2aaSAndroid Build Coastguard Workerconst fs = require('fs') 3*c8dee2aaSAndroid Build Coastguard Worker// This should be a file created by gold_test_env.go which contains the port number 4*c8dee2aaSAndroid Build Coastguard Worker// on which it is listening. For whatever reason, karma was not happy serving the 5*c8dee2aaSAndroid Build Coastguard Worker// port file directly, but reading it in and then adding it as a proxy seems to 6*c8dee2aaSAndroid Build Coastguard Worker// work fine. 7*c8dee2aaSAndroid Build Coastguard Workerconst testOnEnvPortPath = path.join(process.env['ENV_DIR'], 'port'); 8*c8dee2aaSAndroid Build Coastguard Workerconst port = fs.readFileSync(testOnEnvPortPath, 'utf8').toString(); 9*c8dee2aaSAndroid Build Coastguard Workerconsole.log('test_on_env PORT:', port); 10*c8dee2aaSAndroid Build Coastguard Worker 11*c8dee2aaSAndroid Build Coastguard Workermodule.exports = function(config) { 12*c8dee2aaSAndroid Build Coastguard Worker // http://karma-runner.github.io/6.3/config/configuration-file.html 13*c8dee2aaSAndroid Build Coastguard Worker let cfg = { 14*c8dee2aaSAndroid Build Coastguard Worker // available frameworks: https://npmjs.org/browse/keyword/karma-adapter 15*c8dee2aaSAndroid Build Coastguard Worker frameworks: ['jasmine'], 16*c8dee2aaSAndroid Build Coastguard Worker 17*c8dee2aaSAndroid Build Coastguard Worker proxies: { 18*c8dee2aaSAndroid Build Coastguard Worker // The tests will make calls to /gold_rpc/whatever and they will be redirected 19*c8dee2aaSAndroid Build Coastguard Worker // to the correct location. 20*c8dee2aaSAndroid Build Coastguard Worker '/gold_rpc/': `http://localhost:${port}/`, 21*c8dee2aaSAndroid Build Coastguard Worker // This makes it more convenient for tests to load the test assets. 22*c8dee2aaSAndroid Build Coastguard Worker '/assets/': '/static/skia/modules/canvaskit/tests/assets/', 23*c8dee2aaSAndroid Build Coastguard Worker }, 24*c8dee2aaSAndroid Build Coastguard Worker 25*c8dee2aaSAndroid Build Coastguard Worker // possible values: 'dots', 'progress' 26*c8dee2aaSAndroid Build Coastguard Worker // available reporters: https://npmjs.org/browse/keyword/karma-reporter 27*c8dee2aaSAndroid Build Coastguard Worker reporters: ['progress'], 28*c8dee2aaSAndroid Build Coastguard Worker colors: true, 29*c8dee2aaSAndroid Build Coastguard Worker logLevel: config.LOG_INFO, 30*c8dee2aaSAndroid Build Coastguard Worker 31*c8dee2aaSAndroid Build Coastguard Worker browserDisconnectTimeout: 20000, 32*c8dee2aaSAndroid Build Coastguard Worker browserNoActivityTimeout: 20000, 33*c8dee2aaSAndroid Build Coastguard Worker 34*c8dee2aaSAndroid Build Coastguard Worker // How many browsers should be started simultaneous 35*c8dee2aaSAndroid Build Coastguard Worker concurrency: Infinity, 36*c8dee2aaSAndroid Build Coastguard Worker }; 37*c8dee2aaSAndroid Build Coastguard Worker 38*c8dee2aaSAndroid Build Coastguard Worker // Bazel will inject some code here to add/change the following items: 39*c8dee2aaSAndroid Build Coastguard Worker // - files 40*c8dee2aaSAndroid Build Coastguard Worker // - proxies 41*c8dee2aaSAndroid Build Coastguard Worker // - browsers 42*c8dee2aaSAndroid Build Coastguard Worker // - basePath 43*c8dee2aaSAndroid Build Coastguard Worker // - singleRun 44*c8dee2aaSAndroid Build Coastguard Worker // - plugins 45*c8dee2aaSAndroid Build Coastguard Worker BAZEL_APPLY_SETTINGS(cfg); 46*c8dee2aaSAndroid Build Coastguard Worker 47*c8dee2aaSAndroid Build Coastguard Worker config.set(cfg); 48*c8dee2aaSAndroid Build Coastguard Worker}; 49