blob: 830f4e71f83941224f80c9f024bfe2f18679cd20 [file] [log] [blame]
Neels Hofmeyrd46ea132017-04-08 15:56:31 +02001#!/bin/sh
2# Remove all but the N newest test run dirs (that have been started)
3
4trial_rx_dir="$1"
5trial_prep_dir="$2"
6if [ -z "$trial_rx_dir" ]; then
Neels Hofmeyraca26242017-05-11 17:39:02 +02007 trial_rx_dir="/var/tmp/osmo-gsm-tester/trials"
Neels Hofmeyrd46ea132017-04-08 15:56:31 +02008fi
9if [ -z "$trial_prep_dir" ]; then
Neels Hofmeyraca26242017-05-11 17:39:02 +020010 trial_prep_dir="/var/tmp/osmo-gsm-tester/.prep-trials"
Neels Hofmeyrd46ea132017-04-08 15:56:31 +020011fi
12
13mkdir -p "$trial_prep_dir"
14
15rm_trial() {
16 trial_dir="$1"
17 trial_name="$(basename "$trial_dir")"
18 echo "Removing: $(ls -ld "$trial_dir")"
19 # ensure atomic removal, so that the gsm-tester doesn't take it as a
Neels Hofmeyr506edbc2017-05-06 21:56:27 +020020 # newly added dir (can happen when the 'taken' marker is removed first).
Neels Hofmeyrd46ea132017-04-08 15:56:31 +020021 mv "$trial_dir" "$trial_prep_dir/"
22 rm -rf "$trial_prep_dir/$trial_name"
23}
24
25# keep the N newest test session dirs that have been started: find all that
26# have been started sorted by time, then discard all but the N newest ones.
27
Neels Hofmeyr506edbc2017-05-06 21:56:27 +020028for seen in $(ls -1t "$trial_rx_dir"/*/taken | tail -n +31); do
Neels Hofmeyrd46ea132017-04-08 15:56:31 +020029 rm_trial "$(dirname "$seen")"
30done