Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 19 additions & 2 deletions util/android-commands.sh
Original file line number Diff line number Diff line change
Expand Up @@ -482,6 +482,22 @@ generate_and_install_public_key() {
echo "installed ssh public key on device"
}

run_with_retry() {
tries=$1
shift 1

for i in $(seq 1 $tries); do
echo "Try #$i of $tries: run $*"
"$@" && echo "Done in try#$i" && return 0
done

exit_code=$?

echo "Still failing after $tries. Code: $exit_code"

return $exit_code
}

snapshot() {
apk="$1"
echo "Running snapshot"
Expand All @@ -500,7 +516,8 @@ snapshot() {

echo "Installing cargo-nextest"
# We need to install nextest via cargo currently, since there is no pre-built binary for android x86
run_command_via_ssh "export CARGO_TERM_COLOR=always && cargo install cargo-nextest"
command="export CARGO_TERM_COLOR=always && cargo install cargo-nextest"
run_with_retry 3 run_command_via_ssh "$command"
return_code=$?

echo "Info about cargo and rust - via SSH Script"
Expand Down Expand Up @@ -562,7 +579,7 @@ build() {
command="export CARGO_TERM_COLOR=always;
export CARGO_INCREMENTAL=0; \
cd ~/coreutils && cargo build --features feat_os_unix_android"
run_command_via_ssh "$command" || return
run_with_retry 3 run_command_via_ssh "$command" || return

echo "Finished build"
}
Expand Down
22 changes: 21 additions & 1 deletion util/android-scripts/run-tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,22 @@ export CARGO_INCREMENTAL=0

echo "PATH: $PATH"

run_with_retry() {
tries=$1
shift 1

for i in $(seq 1 $tries); do
echo "Try #$i of $tries: run $*"
"$@" && echo "Done in try#$i" && return 0
done

exit_code=$?

echo "Still failing after $tries. Code: $exit_code"

return $exit_code
}

run_tests_in_subprocess() (

# limit virtual memory to 3GB to avoid that OS kills sshd
Expand All @@ -32,10 +48,14 @@ run_tests_in_subprocess() (
watchplus 2 df -h &
watchplus 2 free -hm &

nextest_params=(--profile ci --hide-progress-bar --features feat_os_unix_android)

# run tests
cd ~/coreutils && \
run_with_retry 3 timeout --preserve-status --verbose -k 1m 10m \
cargo nextest run --no-run "${nextest_params[@]}" &&
timeout --preserve-status --verbose -k 1m 60m \
cargo nextest run --profile ci --hide-progress-bar --features feat_os_unix_android
cargo nextest run "${nextest_params[@]}"

result=$?

Expand Down