mirror of
https://github.com/pezkuwichain/pezkuwi-wallet-android.git
synced 2026-07-22 17:15:48 +00:00
9beb68daa2
Hardcoded -e class only ran one test class, silently excluding any new integration test added to the same package (e.g. the new full-architecture BalancesUpdateSystem test).
61 lines
1.6 KiB
Bash
61 lines
1.6 KiB
Bash
#!/usr/bin/env bash
|
|
adb devices
|
|
|
|
# Install debug app
|
|
adb -s emulator-5554 install app/debug/app-debug.apk
|
|
|
|
# Install instrumental tests
|
|
adb -s emulator-5554 install app/androidTest/debug/app-debug-androidTest.apk
|
|
|
|
# Run tests
|
|
adb logcat -c
|
|
|
|
# DIAGNOSTIC: stream logcat live (unbuffered) alongside the test run, so a hang shows real
|
|
# device-side activity (network calls, coroutine timeouts, ANRs) instead of just silence.
|
|
adb logcat -v time '*:D' &
|
|
LOGCAT_PID=$!
|
|
|
|
python -u - <<END
|
|
import os
|
|
import re
|
|
import subprocess as sp
|
|
import sys
|
|
import threading
|
|
import time
|
|
|
|
done = False
|
|
def update():
|
|
# prevent CI from killing the process for inactivity
|
|
while not done:
|
|
time.sleep(5)
|
|
print ("Running...")
|
|
t = threading.Thread(target=update)
|
|
t.dameon = True
|
|
t.start()
|
|
|
|
def run():
|
|
os.system('adb wait-for-device')
|
|
p = sp.Popen('adb shell am instrument -w -m -e debug false -e package "io.novafoundation.nova.balances" io.pezkuwichain.wallet.debug.test/io.qameta.allure.android.runners.AllureAndroidJUnitRunner',
|
|
shell=True, stdout=sp.PIPE, stderr=sp.PIPE, stdin=sp.PIPE)
|
|
return p.communicate()
|
|
success = re.compile(r'OK \(\d+ tests\)')
|
|
stdout, stderr = run()
|
|
stdout = stdout.decode('ISO-8859-1')
|
|
stderr = stderr.decode('ISO-8859-1')
|
|
done = True
|
|
print (stderr)
|
|
print (stdout)
|
|
if success.search(stderr + stdout):
|
|
sys.exit(0)
|
|
else:
|
|
sys.exit(1) # make sure we fail if the tests fail
|
|
END
|
|
EXIT_CODE=$?
|
|
kill "$LOGCAT_PID" 2>/dev/null
|
|
adb logcat -d '*:E'
|
|
|
|
# Export results
|
|
adb exec-out run-as io.pezkuwichain.wallet.debug sh -c 'cd /data/data/io.pezkuwichain.wallet.debug/files && tar cf - allure-results' > allure-results.tar
|
|
|
|
exit $EXIT_CODE
|