Tizen 2.0 Release
[external/tizen-coreutils.git] / tests / touch / obsolescent
1 #!/bin/sh
2 # Test touch with obsolescent 8- or 10-digit time stamps.
3
4 # Copyright (C) 2000, 2004, 2005, 2006 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 2 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, write to the Free Software
18 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19 # 02110-1301, USA.
20
21 _POSIX2_VERSION=199209; export _POSIX2_VERSION
22 POSIXLY_CORRECT=1; export POSIXLY_CORRECT
23
24 if test "$VERBOSE" = yes; then
25   set -x
26   touch --version
27 fi
28
29 pwd=`pwd`
30 tmp=obsol.$$
31 trap 'status=$?; cd "$pwd" && rm -rf $tmp && exit $status' 0
32 trap '(exit $?); exit' 1 2 13 15
33
34 framework_failure=0
35 mkdir $tmp || framework_failure=1
36 cd $tmp || framework_failure=1
37
38 if test $framework_failure = 1; then
39   echo 'failure in testing framework'
40   (exit 1); exit 1
41 fi
42
43 fail=0
44
45 yearstart=01010000
46
47 for ones in 11111111 1111111111; do
48   for args in $ones "-- $ones" "$yearstart $ones" "-- $yearstart $ones"; do
49     touch $args || fail=1
50     test -f $ones || fail=1
51     test -f $yearstart && fail=1
52     rm -f $ones || fail=1
53   done
54 done
55
56 y2000=0101000000
57 rm -f $y2000 file || fail=1
58 touch $y2000 file && test -f $y2000 && test -f file || fail=1
59
60 (exit $fail); exit $fail