From 65d294c1da38fe72fad9ffea07d72f0b715a9668 Mon Sep 17 00:00:00 2001 From: Philipp Hasper Date: Thu, 12 Mar 2026 19:19:57 +0100 Subject: [PATCH] Adding checkpoints to measure elapsed time in the Drone test Mainly for profiling reasons, not to be merged. Signed-off-by: Philipp Hasper --- .drone.yml | 13 +++++++++++++ scripts/runCombinedTest.sh | 8 ++++++++ 2 files changed, 21 insertions(+) diff --git a/.drone.yml b/.drone.yml index 4da327c6a57b..d079ed48c416 100644 --- a/.drone.yml +++ b/.drone.yml @@ -22,14 +22,23 @@ steps: from_secret: GIT_TOKEN commands: - scripts/checkIfRunDrone.sh $DRONE_PULL_REQUEST || exit 0 + - export _CP=$SECONDS; checkpoint() { echo "=== +$(($SECONDS - $_CP))s === $*"; export _CP=$SECONDS; } + - checkpoint "Starting emulator" - emulator -avd android -no-snapshot -gpu swiftshader_indirect -no-window -no-audio -skin 500x833 & - sed -i s'#false#true#'g app/src/main/res/values/setup.xml + - checkpoint "assembleGplayDebugAndroidTest" - ./gradlew assembleGplayDebugAndroidTest + - checkpoint "Waiting for emulator" - scripts/wait_for_emulator.sh + - checkpoint "installGplayDebugAndroidTest" - ./gradlew installGplayDebugAndroidTest + - checkpoint "Waiting for server" - scripts/wait_for_server.sh "server" + - checkpoint "deleteOldComments" - scripts/deleteOldComments.sh "stable" "IT" $DRONE_PULL_REQUEST + - checkpoint "createGplayDebugCoverageReport" - ./gradlew createGplayDebugCoverageReport -Pcoverage -Pandroid.testInstrumentationRunnerArguments.notAnnotation=com.owncloud.android.utils.ScreenshotTest || scripts/uploadReport.sh $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER "stable" "IT" $DRONE_PULL_REQUEST + - checkpoint "Done" services: - name: server @@ -88,9 +97,13 @@ steps: from_secret: GIT_TOKEN commands: - scripts/checkIfRunDrone.sh $DRONE_PULL_REQUEST || exit 0 + - export _CP=$SECONDS; checkpoint() { echo "=== +$(($SECONDS - $_CP))s === $*"; export _CP=$SECONDS; } + - checkpoint "Starting emulator" - emulator -avd android -no-snapshot -gpu swiftshader_indirect -no-window -no-audio -skin 500x833 & - sed -i s'#false#true#'g app/src/main/res/values/setup.xml + - checkpoint "runCombinedTest" - scripts/runCombinedTest.sh $DRONE_PULL_REQUEST $LOG_USERNAME $LOG_PASSWORD $DRONE_BUILD_NUMBER + - checkpoint "Done" services: - name: server diff --git a/scripts/runCombinedTest.sh b/scripts/runCombinedTest.sh index e588938f68df..164ece568150 100755 --- a/scripts/runCombinedTest.sh +++ b/scripts/runCombinedTest.sh @@ -8,6 +8,7 @@ DRONE_PULL_REQUEST=$1 LOG_USERNAME=$2 LOG_PASSWORD=$3 DRONE_BUILD_NUMBER=$4 +_CP=$SECONDS; checkpoint() { echo "=== +$(($SECONDS - $_CP))s === $*"; _CP=$SECONDS; } function upload_logcat() { log_filename="${DRONE_PULL_REQUEST}_logcat.txt.xz" @@ -21,14 +22,20 @@ function upload_logcat() { scripts/deleteOldComments.sh "master" "IT" "$DRONE_PULL_REQUEST" +checkpoint "assembleGplayDebugAndroidTest" ./gradlew assembleGplayDebugAndroidTest +checkpoint "Waiting for emulator" scripts/wait_for_emulator.sh || exit 1 +checkpoint "installGplayDebugAndroidTest" ./gradlew installGplayDebugAndroidTest + +checkpoint "Waiting for server" scripts/wait_for_server.sh "server" || exit 1 # clear logcat and start saving it to file +checkpoint "createGplayDebugCoverageReport" adb logcat -c adb logcat > logcat.txt & LOGCAT_PID=$! @@ -37,6 +44,7 @@ LOGCAT_PID=$! -Dorg.gradle.jvmargs="--add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.nio.channels=ALL-UNNAMED --add-exports java.base/sun.nio.ch=ALL-UNNAMED" stat=$? +checkpoint "Tests finished (exit code: $stat)" # stop saving logcat kill $LOGCAT_PID