1#!/bin/sh
2# Test touch with obsolescent 8- or 10-digit timestamps.
3
4# Copyright (C) 2000-2023 Free Software Foundation, Inc.
5
6# This program is free software: you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation, either version 3 of the License, or
9# (at your option) any later version.
10
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14# GNU General Public License for more details.
15
16# You should have received a copy of the GNU General Public License
17# along with this program.  If not, see <https://www.gnu.org/licenses/>.
18
19. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
20print_ver_ touch
21
22_POSIX2_VERSION=199209; export _POSIX2_VERSION
23POSIXLY_CORRECT=1; export POSIXLY_CORRECT
24
25
26yearstart=01010000
27
28for ones in 11111111 1111111111; do
29  for args in $ones "-- $ones" "$yearstart $ones" "-- $yearstart $ones"; do
30    touch $args || fail=1
31    test -f $ones || fail=1
32    test -f $yearstart && fail=1
33    rm -f $ones || fail=1
34  done
35done
36
37y2000=0101000000
38rm -f $y2000 file || fail=1
39touch $y2000 file && test -f $y2000 && test -f file || fail=1
40
41Exit $fail
42