Neels Hofmeyr | d46ea13 | 2017-04-08 15:56:31 +0200 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | # Remove all but the N newest test run dirs (that have been started) |
| 3 | |
| 4 | trial_rx_dir="$1" |
| 5 | trial_prep_dir="$2" |
| 6 | if [ -z "$trial_rx_dir" ]; then |
Neels Hofmeyr | aca2624 | 2017-05-11 17:39:02 +0200 | [diff] [blame] | 7 | trial_rx_dir="/var/tmp/osmo-gsm-tester/trials" |
Neels Hofmeyr | d46ea13 | 2017-04-08 15:56:31 +0200 | [diff] [blame] | 8 | fi |
| 9 | if [ -z "$trial_prep_dir" ]; then |
Neels Hofmeyr | aca2624 | 2017-05-11 17:39:02 +0200 | [diff] [blame] | 10 | trial_prep_dir="/var/tmp/osmo-gsm-tester/.prep-trials" |
Neels Hofmeyr | d46ea13 | 2017-04-08 15:56:31 +0200 | [diff] [blame] | 11 | fi |
| 12 | |
| 13 | mkdir -p "$trial_prep_dir" |
| 14 | |
| 15 | rm_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 Hofmeyr | 506edbc | 2017-05-06 21:56:27 +0200 | [diff] [blame] | 20 | # newly added dir (can happen when the 'taken' marker is removed first). |
Neels Hofmeyr | d46ea13 | 2017-04-08 15:56:31 +0200 | [diff] [blame] | 21 | 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 Hofmeyr | 506edbc | 2017-05-06 21:56:27 +0200 | [diff] [blame] | 28 | for seen in $(ls -1t "$trial_rx_dir"/*/taken | tail -n +31); do |
Neels Hofmeyr | d46ea13 | 2017-04-08 15:56:31 +0200 | [diff] [blame] | 29 | rm_trial "$(dirname "$seen")" |
| 30 | done |