Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/bootstrap.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohann-S <johann.servoire@gmail.com>2017-09-28 15:55:15 +0300
committerXhmikosR <xhmikosr@gmail.com>2017-09-29 19:39:25 +0300
commit210bb221a8905e0482f939a7e03256de701a60c7 (patch)
tree8567d4158970d13ccfe58ce2e71736159830a21a /build/saucelabs-unit-test.js
parent502ac7ee4d13669e644b9181f1e014ce0ea1f089 (diff)
Use jsunitsaucelabs to run our unit tests on Saucelabs
Diffstat (limited to 'build/saucelabs-unit-test.js')
-rw-r--r--build/saucelabs-unit-test.js48
1 files changed, 48 insertions, 0 deletions
diff --git a/build/saucelabs-unit-test.js b/build/saucelabs-unit-test.js
new file mode 100644
index 0000000000..76576128ee
--- /dev/null
+++ b/build/saucelabs-unit-test.js
@@ -0,0 +1,48 @@
+const JSUnitSaucelabs = require('jsunitsaucelabs')
+
+var jsUnitSaucelabs = new JSUnitSaucelabs({
+ username: process.env.SAUCE_USERNAME,
+ password: process.env.SAUCE_ACCESS_KEY
+})
+
+
+// TODO : get all the browsers in sauce_browsers.yml
+
+var testURL = 'http://localhost:3000/js/tests/index.html?hidepassed'
+jsUnitSaucelabs.start([
+ ['Windows 8', 'internet explorer', '10']
+], testURL, 'qunit', function (error, success) {
+ if (typeof success !== 'undefined') {
+ var taskIds = success['js tests']
+ if (!taskIds || !taskIds.length) {
+ throw new Error('Error starting tests through SauceLabs API')
+ }
+
+ var waitingCallback = function (error, success) {
+ if (error) {
+ console.error(error)
+ return
+ }
+
+ if (typeof success !== 'undefined') {
+ if (!success.completed) {
+ jsUnitSaucelabs.getStatus(taskIds[0], waitingCallback)
+ } else {
+ var test = success['js tests'][0]
+ var passed = false
+ if (test.result !== null) {
+ passed = test.result.total === test.result.passed
+ }
+ console.log('Tested ' + testURL)
+ console.log('Platform: ' + test.platform.join(','))
+ console.log('Passed: ' + passed.toString())
+ console.log('Url ' + test.url)
+ }
+ }
+ }
+
+ taskIds.forEach(function (id) {
+ jsUnitSaucelabs.getStatus(id, waitingCallback)
+ })
+ }
+})