summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/functions.sh17
-rwxr-xr-xtests/ts/hwclock/systohc20
-rwxr-xr-xtests/ts/utmp/last5
-rwxr-xr-xtests/ts/utmp/last-ipv65
4 files changed, 28 insertions, 19 deletions
diff --git a/tests/functions.sh b/tests/functions.sh
index 31ad481f4..2a50de721 100644
--- a/tests/functions.sh
+++ b/tests/functions.sh
@@ -610,3 +610,20 @@ function ts_scsi_debug_init {
TS_DEVICE="/dev/${devname}"
}
+
+function ts_resolve_host {
+ local host="$1"
+ local tmp
+
+ # currently we just resolve default records (might be "A", ipv4 only)
+ if type "dig" >/dev/null 2>&1; then
+ tmp=$(dig "$host" +short 2>/dev/null) || return 1
+ elif type "nslookup" >/dev/null 2>&1; then
+ tmp=$(nslookup "$host" 2>/dev/null) || return 1
+ tmp=$(echo "$tmp"| grep -A1 "^Name:"| grep "^Address:"| cut -d" " -f2)
+ fi
+
+ # we return 1 if tmp is empty
+ test -n "$tmp" || return 1
+ echo "$tmp" | sort -R | head -n 1
+}
diff --git a/tests/ts/hwclock/systohc b/tests/ts/hwclock/systohc
index ba97ef780..fa7868fc7 100755
--- a/tests/ts/hwclock/systohc
+++ b/tests/ts/hwclock/systohc
@@ -29,24 +29,6 @@ ts_skip_nonroot
ts_check_prog "bc"
ts_check_prog "sntp"
-function resolve_host
-{
- local host="$1"
- local tmp
-
- # currently we just resolve default records (might be "A", ipv4 only)
- if type "dig" >/dev/null 2>&1; then
- tmp=$(dig "$host" +short 2>/dev/null) || return 1
- elif type "nslookup" >/dev/null 2>&1; then
- tmp=$(nslookup "$host" 2>/dev/null) || return 1
- tmp=$(echo "$tmp"| grep -A1 "^Name:"| grep "^Address:"| cut -d" " -f2)
- fi
-
- # we return 1 if tmp is empty
- test -n "$tmp" || return 1
- echo "$tmp" | sort -R | head -n 1
-}
-
function get_offset_sys_ntp
{
local ip="$@"
@@ -79,7 +61,7 @@ function check_diff_offset
# we need fixed ntp IP to get comparable offsets
-NTP_IP=$(resolve_host "$NTP_SERVER") \
+NTP_IP=$(ts_resolve_host "$NTP_SERVER") \
|| ts_skip "can't resolve hostname $NTP_SERVER"
OFFSET_A=$(get_offset_sys_ntp "$NTP_IP") \
diff --git a/tests/ts/utmp/last b/tests/ts/utmp/last
index 19de4ab28..64b9b8c20 100755
--- a/tests/ts/utmp/last
+++ b/tests/ts/utmp/last
@@ -37,7 +37,10 @@ else
|| ts_skip "can't create test data"
fi
+# there is no better way yet to skip a subtest
+if ts_resolve_host "a.root-servers.net" >/dev/null; then
ts_init_subtest "dns"
+
ts_log "~~~ dns short ~~~"
$TS_CMD_LAST -f $WTMP_FILE -d root >> $TS_OUTPUT 2>/dev/null
@@ -46,7 +49,9 @@ $TS_CMD_LAST -f $WTMP_FILE -w -d root >> $TS_OUTPUT 2>/dev/null
ts_log "~~~ dns host last ~~~"
$TS_CMD_LAST -f $WTMP_FILE -a -d root >> $TS_OUTPUT 2>/dev/null
+
ts_finalize_subtest
+fi
ts_init_subtest "nodns"
ts_log "~~~ basic output ~~~"
diff --git a/tests/ts/utmp/last-ipv6 b/tests/ts/utmp/last-ipv6
index 17e65e7bf..d4a96457e 100755
--- a/tests/ts/utmp/last-ipv6
+++ b/tests/ts/utmp/last-ipv6
@@ -37,7 +37,10 @@ else
|| ts_skip "can't create test data"
fi
+# there is no better way yet to skip a subtest
+if ts_resolve_host "a.root-servers.net" >/dev/null; then
ts_init_subtest "dns"
+
ts_log "~~~ dns short ~~~"
$TS_CMD_LAST -f $WTMP_FILE -d >> $TS_OUTPUT 2>/dev/null
@@ -46,7 +49,9 @@ $TS_CMD_LAST -f $WTMP_FILE -d -w >> $TS_OUTPUT 2>/dev/null
ts_log "~~~ dns host last ~~~"
$TS_CMD_LAST -f $WTMP_FILE -d -a >> $TS_OUTPUT 2>/dev/null
+
ts_finalize_subtest
+fi
ts_init_subtest "nodns"
ts_log "~~~ show ip ~~~"