Changeset View
Changeset View
Standalone View
Standalone View
bin/date/t_date.sh
- This file was added.
# $NetBSD: t_date.sh,v 1.2 2020/10/30 22:03:35 kre Exp $ | |||||
# | |||||
# Copyright (c) 2020 The NetBSD Foundation, Inc. | |||||
# All rights reserved. | |||||
# | |||||
# This code is derived from software contributed to The NetBSD Foundation | |||||
# by Jukka Ruohonen. | |||||
# | |||||
# 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. | |||||
# | |||||
atf_test_case overflow | |||||
overflow_head() { | |||||
atf_set "descr" "Check that date(1) does not overflow (PR lib/46542)" | |||||
} | |||||
overflow_body() { | |||||
## atf_expect_fail "PR lib/46542" # no longer true | |||||
years="1 10 100 1000 10000 100000 1000000 10000000 \ | |||||
100000000 1000000000 10000000000 100000000000" | |||||
for year in $years; do | |||||
y=$(date +%Y) | |||||
yy=$((y + year)) | |||||
yyy=$(date -d "$year years" +%Y) || continue | |||||
if [ "$yy" -ne "$yyy" ]; then | |||||
atf_fail "$yy vs. $yyy" | |||||
fi | |||||
done | |||||
} | |||||
atf_init_test_cases() { | |||||
atf_add_test_case overflow | |||||
} |