]> git.ipfire.org Git - thirdparty/chrony.git/commitdiff
test: allow separate lib/log/run directories in system tests
authorMiroslav Lichvar <mlichvar@redhat.com>
Thu, 25 Apr 2019 16:19:00 +0000 (18:19 +0200)
committerMiroslav Lichvar <mlichvar@redhat.com>
Thu, 25 Apr 2019 16:55:56 +0000 (18:55 +0200)
test/system/test.common

index 5b142c7e8d826ab068f2e89fed91c7fd2cbd86da..46604cc295f7d82e61aaaeace34d3c72674d5001 100644 (file)
 
 export LC_ALL=C
 export PATH=${CHRONY_PATH:-../..}:$PATH
-export TEST_DIR=${TEST_DIR:-$(pwd)/tmp}
+
+TEST_DIR=${TEST_DIR:-$(pwd)/tmp}
+TEST_LIBDIR=${TEST_LIBDIR:-$TEST_DIR}
+TEST_LOGDIR=${TEST_LOGDIR:-$TEST_DIR}
+TEST_RUNDIR=${TEST_RUNDIR:-$TEST_DIR}
 
 test_start() {
        check_chronyd_features NTP CMDMON || test_skip "NTP/CMDMON support disabled"
@@ -25,6 +29,12 @@ test_start() {
        rm -rf "$TEST_DIR"
        mkdir -p "$TEST_DIR" && chmod 700 "$TEST_DIR" || test_skip "could not create $TEST_DIR"
 
+       [ -d "$TEST_LIBDIR" ] || test_skip "missing $TEST_LIBDIR"
+       [ -d "$TEST_LOGDIR" ] || test_skip "missing $TEST_LOGDIR"
+       [ -d "$TEST_RUNDIR" ] || test_skip "missing $TEST_RUNDIR"
+
+       rm -f "$TEST_LIBDIR"/* "$TEST_LOGDIR"/* "$TEST_RUNDIR"/*
+
        if [ "$user" != "root" ]; then
                id -u "$user" > /dev/null 2> /dev/null || test_skip "missing user $user"
                chown "$user:$(id -g "$user")" "$TEST_DIR" || test_skip "could not chown $TEST_DIR"
@@ -151,15 +161,15 @@ get_conffile() {
 }
 
 get_pidfile() {
-       echo "$TEST_DIR/chronyd.pid"
+       echo "$TEST_RUNDIR/chronyd.pid"
 }
 
 get_logfile() {
-       echo "$TEST_DIR/chronyd.log"
+       echo "$TEST_LOGDIR/chronyd.log"
 }
 
 get_cmdsocket() {
-       echo "$TEST_DIR/chronyd.sock"
+       echo "$TEST_RUNDIR/chronyd.sock"
 }
 
 # Find a free port in the 10000-20000 range (their use is racy)
@@ -181,7 +191,7 @@ generate_chrony_conf() {
        ntpport=$(get_free_port)
        cmdport=$(get_free_port)
 
-       echo "0.0 10000" > "$TEST_DIR/driftfile"
+       echo "0.0 10000" > "$TEST_LIBDIR/driftfile"
        echo "1 MD5 abcdefghijklmnopq" > "$TEST_DIR/keys"
        echo "0.0" > "$TEST_DIR/tempcomp"
 
@@ -204,15 +214,15 @@ generate_chrony_conf() {
                [ "$server" = "127.0.0.1" ] && echo "bindacqaddress $server"
                echo "bindaddress 127.0.0.1"
                echo "bindcmdaddress 127.0.0.1"
-               echo "dumpdir $TEST_DIR"
-               echo "logdir $TEST_DIR"
+               echo "dumpdir $TEST_RUNDIR"
+               echo "logdir $TEST_LOGDIR"
                echo "log tempcomp rawmeasurements refclocks statistics tracking rtc"
                echo "logbanner 0"
                echo "smoothtime 100.0 0.001"
 
                echo "include /dev/null"
                echo "keyfile $TEST_DIR/keys"
-               echo "driftfile $TEST_DIR/driftfile"
+               echo "driftfile $TEST_LIBDIR/driftfile"
                echo "tempcomp $TEST_DIR/tempcomp 0.1 0 0 0 0"
 
        ) > "$(get_conffile)"
@@ -302,11 +312,11 @@ check_chronyd_message_count() {
 check_chronyd_files() {
        test_message 1 0 "checking chronyd files"
 
-       grep -q " $server .* 111 111 1111 " "$TEST_DIR/measurements.log" && \
-               grep -q " $server " "$TEST_DIR/statistics.log" && \
-               grep -q " $server " "$TEST_DIR/tracking.log" && \
-               [ -f "$TEST_DIR/tempcomp.log" ] && [ "$(wc -l < "$TEST_DIR/tempcomp.log")" -ge 2 ] && \
-               [ -f "$TEST_DIR/$server.dat" ] && [ "$(wc -l < "$TEST_DIR/$server.dat")" -ge 5 ] && \
+       grep -q " $server .* 111 111 1111 " "$TEST_LOGDIR/measurements.log" && \
+               grep -q " $server " "$TEST_LOGDIR/statistics.log" && \
+               grep -q " $server " "$TEST_LOGDIR/tracking.log" && \
+               [ -f "$TEST_LOGDIR/tempcomp.log" ] && [ "$(wc -l < "$TEST_LOGDIR/tempcomp.log")" -ge 2 ] && \
+               [ -f "$TEST_RUNDIR/$server.dat" ] && [ "$(wc -l < "$TEST_RUNDIR/$server.dat")" -ge 5 ] && \
                test_ok || test_bad
 }