From 93415ca91839c90d6c99e577d1f0829211efc691 Mon Sep 17 00:00:00 2001 From: mhutti1 Date: Tue, 25 Apr 2017 17:46:50 +0200 Subject: [PATCH] Attempt at travis pinging testdroid --- .travis.yml | 3 ++- app/build.gradle | 3 +++ testdroid.py | 25 +++++++++++++++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100755 testdroid.py diff --git a/.travis.yml b/.travis.yml index 7db1501c8..f2c3e7a8a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -34,4 +34,5 @@ licenses: - '.+' script: - - ./gradlew build + - ./gradlew build testdroidUploadKiwix + - ./testdroid.py diff --git a/app/build.gradle b/app/build.gradle index 8e7588e13..948eae8c9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -253,11 +253,14 @@ task wrapper(type: Wrapper) { gradleVersion = '2.4' } +def buildNumber = System.getenv('TRAVIS_BUILD_NUMBER') + testdroid { username System.getenv('TESTDROID_USERNAME') password System.getenv('TESTDROID_PASSWORD') deviceGroup 'Kiwix' projectName "Kiwix" + testRunName "Auto Test " + buildNumber fullRunConfig { instrumentationRunner = "android.support.test.runner.AndroidJUnitRunner" diff --git a/testdroid.py b/testdroid.py new file mode 100755 index 000000000..d8ba17848 --- /dev/null +++ b/testdroid.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python +import requests +import time +import sys +import os +PROJECT_ID = 116910522 + +runID = os.environ['TRAVIS_BUILD_NUMBER'] +apiKey = os.environ['BITBAR_API_KEY'] +testName = "Auto Test {}".format(runID) + +for x in range(0, 50): + r = requests.get('https://cloud.testdroid.com/api/me/projects/{}/runs'.format(PROJECT_ID), auth=(apiKey, ''), headers={"Accept" : "application/json"}) + result = list(filter(lambda run: run.get("displayName") == testName, r.json().get("data"))) + if len(result) > 0 and result[0].get("state") == "FINISHED": + ratio = result[0].get("successRatio") + if ratio == 1.0: + print "All tests passed" + sys.exit(0) + else: + raise AssertionError("Success ratio only: {}".format(ratio)) + else: + print "Waiting for results" + time.sleep(30) +raise TimeoutError("Test not found/complete")