aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/twbs/bootstrap/build/saucelabs-unit-test.js
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/twbs/bootstrap/build/saucelabs-unit-test.js')
-rw-r--r--vendor/twbs/bootstrap/build/saucelabs-unit-test.js116
1 files changed, 0 insertions, 116 deletions
diff --git a/vendor/twbs/bootstrap/build/saucelabs-unit-test.js b/vendor/twbs/bootstrap/build/saucelabs-unit-test.js
deleted file mode 100644
index b4d952536..000000000
--- a/vendor/twbs/bootstrap/build/saucelabs-unit-test.js
+++ /dev/null
@@ -1,116 +0,0 @@
-/*!
- * Script to run our Sauce Labs tests.
- * Copyright 2017-2018 The Bootstrap Authors
- * Copyright 2017-2018 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */
-
-/*
-Docs: https://wiki.saucelabs.com/display/DOCS/Platform+Configurator
-Mac Opera is not currently supported by Sauce Labs
-Win Opera 15+ is not currently supported by Sauce Labs
-iOS Chrome is not currently supported by Sauce Labs
-*/
-
-'use strict'
-
-const path = require('path')
-const JSUnitSaucelabs = require('jsunitsaucelabs')
-
-const jsUnitSaucelabs = new JSUnitSaucelabs({
- username: process.env.SAUCE_USERNAME,
- password: process.env.SAUCE_ACCESS_KEY,
- build: process.env.TRAVIS_JOB_ID
-})
-
-const testURL = 'http://localhost:3000/js/tests/index.html?hidepassed'
-const browsersFile = require(path.resolve(__dirname, './sauce_browsers.json'))
-const errorMessages = [
- 'Test exceeded maximum duration',
- 'Test exceeded maximum duration after 180 seconds'
-]
-let jobsDone = 0
-let jobsSucceeded = 0
-
-const waitingCallback = (error, body, id) => {
- if (error) {
- console.error(error)
- process.exit(1)
- }
-
- if (typeof body !== 'undefined') {
- if (!body.completed) {
- setTimeout(() => {
- jsUnitSaucelabs.getStatus(id, (error, body) => {
- waitingCallback(error, body, id)
- })
- }, 2000)
- } else {
- const test = body['js tests'][0]
- const platform = test.platform.join(', ')
- let passed = false
- let errorStr = false
-
- if (test.result !== null) {
- if (typeof test.result === 'string' && errorMessages.includes(test.result)) {
- errorStr = test.result
- } else {
- passed = test.result.total === test.result.passed
- }
- }
-
- console.log(`Tested ${testURL}`)
- console.log(`Platform: ${platform}`)
- console.log(`Passed: ${passed}`)
- console.log(`URL: ${test.url}\n`)
-
- if (errorStr) {
- console.error(`${platform}: ${errorStr}`)
- }
-
- if (passed) {
- jobsSucceeded++
- }
- jobsDone++
-
- // Exit
- if (jobsDone === browsersFile.length - 1) {
- jsUnitSaucelabs.stop()
- if (jobsDone > jobsSucceeded) {
- const failedTests = jobsDone - jobsSucceeded
- throw new Error(`${failedTests} test${failedTests > 1 ? 's' : ''} failed.`)
- }
-
- console.log('All tests passed')
- process.exit(0)
- }
- }
- }
-}
-
-jsUnitSaucelabs.on('tunnelCreated', () => {
- browsersFile.forEach((tmpBrowser) => {
- const browsersPlatform = typeof tmpBrowser.platform === 'undefined' ? tmpBrowser.platformName : tmpBrowser.platform
- const browsersArray = [browsersPlatform, tmpBrowser.browserName, tmpBrowser.version]
-
- jsUnitSaucelabs.start([browsersArray], testURL, 'qunit', (error, success) => {
- if (typeof success !== 'undefined') {
- const taskIds = success['js tests']
-
- if (!taskIds || taskIds.length === 0) {
- throw new Error('Error starting tests through Sauce Labs API')
- }
-
- taskIds.forEach((id) => {
- jsUnitSaucelabs.getStatus(id, (error, body) => {
- waitingCallback(error, body, id)
- })
- })
- } else {
- console.error(error)
- }
- })
- })
-})
-
-jsUnitSaucelabs.initTunnel()