diff options
author | Enji Cooper <ngie@FreeBSD.org> | 2017-07-06 04:30:06 +0000 |
---|---|---|
committer | Enji Cooper <ngie@FreeBSD.org> | 2017-07-06 04:30:06 +0000 |
commit | f37852c17391fdf0e8309bcf684384dd0d854e43 (patch) | |
tree | ddd8821c5b04708284e3cf1df511e9e4c976bcea /share/zoneinfo | |
parent | c5cba0607997688e78928c6844e8f902f336af27 (diff) | |
download | src-f37852c17391fdf0e8309bcf684384dd0d854e43.tar.gz src-f37852c17391fdf0e8309bcf684384dd0d854e43.zip |
Add tests to help verify Links functionality for .../contrib/tzdata/backwards
MFC after: 1 month
MFC with: r320702
Notes
Notes:
svn path=/head/; revision=320703
Diffstat (limited to 'share/zoneinfo')
-rw-r--r-- | share/zoneinfo/Makefile | 4 | ||||
-rw-r--r-- | share/zoneinfo/tests/Makefile | 20 | ||||
-rwxr-xr-x | share/zoneinfo/tests/backward_test.sh | 44 | ||||
-rwxr-xr-x | share/zoneinfo/tests/zoneinfo_common.sh | 54 |
4 files changed, 122 insertions, 0 deletions
diff --git a/share/zoneinfo/Makefile b/share/zoneinfo/Makefile index f018fff120ff..a13a43c62160 100644 --- a/share/zoneinfo/Makefile +++ b/share/zoneinfo/Makefile @@ -131,4 +131,8 @@ afterinstall: echo "Run tzsetup(8) manually to update /etc/localtime."; \ fi +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include <bsd.prog.mk> diff --git a/share/zoneinfo/tests/Makefile b/share/zoneinfo/tests/Makefile new file mode 100644 index 000000000000..b8515df02291 --- /dev/null +++ b/share/zoneinfo/tests/Makefile @@ -0,0 +1,20 @@ +# $FreeBSD$ + +.include <src.opts.mk> + +.PATH: ${SRCTOP}/contrib/tzdata + +PACKAGE= tests + +FILESGROUPS+= TESTFILES + +.if ${MK_ZONEINFO_OLD_TIMEZONES_SUPPORT} != "no" +ATF_TESTS_SH+= backward_test +TESTFILES+= backward +.endif + +TESTFILES+= zoneinfo_common.sh +TESTFILESPACKAGE= ${PACKAGE} +TESTFILESDIR= ${TESTSDIR} + +.include <bsd.test.mk> diff --git a/share/zoneinfo/tests/backward_test.sh b/share/zoneinfo/tests/backward_test.sh new file mode 100755 index 000000000000..41d2df92914c --- /dev/null +++ b/share/zoneinfo/tests/backward_test.sh @@ -0,0 +1,44 @@ +# +# Copyright (c) 2017 Ngie Cooper <ngie@FreeBSD.org> +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ + +atf_test_case links +links_head() +{ + atf_set "descr" "Verify Links directives in contrib/tzdata/backward" +} + +links_body() +{ + verify_Links $(atf_get_srcdir)/backward +} + +atf_init_test_cases() +{ + . "$(dirname "$0")/zoneinfo_common.sh" + + atf_add_test_case links +} diff --git a/share/zoneinfo/tests/zoneinfo_common.sh b/share/zoneinfo/tests/zoneinfo_common.sh new file mode 100755 index 000000000000..0a00a39cfbee --- /dev/null +++ b/share/zoneinfo/tests/zoneinfo_common.sh @@ -0,0 +1,54 @@ +#!/bin/sh +# +# Copyright (c) 2017 Ngie Cooper <ngie@FreeBSD.org> +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ + +ZONEINFO_DIR=/usr/share/zoneinfo + +verify_Links() +{ + local zoneinfo_file + + zoneinfo_file=$1 + + awk '$1 == "Link" && NF == 3 { print $2, $3; }' < $zoneinfo_file | \ + while read src dest; do + verify_Link $src $dest + done +} + +verify_Link() +{ + local src dest + + old_path=$ZONEINFO_DIR/$src + new_path=$ZONEINFO_DIR/$dest + + atf_check test -f $new_path + atf_check test -f $old_path + + atf_check cmp $old_path $new_path +} |