summaryrefslogtreecommitdiff
path: root/gnulib/tests/test-parse-duration.sh
diff options
context:
space:
mode:
Diffstat (limited to 'gnulib/tests/test-parse-duration.sh')
m---------gnulib0
-rwxr-xr-xgnulib/tests/test-parse-duration.sh68
2 files changed, 68 insertions, 0 deletions
diff --git a/gnulib b/gnulib
deleted file mode 160000
-Subproject 443bc5ffcf7429e557f4a371b0661abe98ddbc1
diff --git a/gnulib/tests/test-parse-duration.sh b/gnulib/tests/test-parse-duration.sh
new file mode 100755
index 0000000..5398c3b
--- /dev/null
+++ b/gnulib/tests/test-parse-duration.sh
@@ -0,0 +1,68 @@
+#!/bin/sh
+
+# Show all commands when run with environment variable VERBOSE=yes.
+test -z "$VERBOSE" || set -x
+prog=test-parse-duration
+
+exe=`pwd`/${prog}${EXEEXT}
+nl='
+'
+
+# func_tmpdir
+# creates a temporary directory.
+# Sets variable
+# - tmp pathname of freshly created temporary directory
+func_tmpdir ()
+{
+ # Use the environment variable TMPDIR, falling back to /tmp. This allows
+ # users to specify a different temporary directory, for example, if their
+ # /tmp is filled up or too small.
+ : ${TMPDIR=/tmp}
+ {
+ # Use the mktemp program if available. If not available, hide the error
+ # message.
+ tmp=`(umask 077 && mktemp -d "$TMPDIR/glXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+ } ||
+ {
+ # Use a simple mkdir command. It is guaranteed to fail if the directory
+ # already exists. $RANDOM is bash specific and expands to empty in shells
+ # other than bash, ksh and zsh. Its use does not increase security;
+ # rather, it minimizes the probability of failure in a very cluttered /tmp
+ # directory.
+ tmp=$TMPDIR/gl$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+ } ||
+ {
+ echo "$0: cannot create a temporary directory in $TMPDIR" >&2
+ exit 1
+ }
+}
+
+die ()
+{
+ echo "${prog} fatal error: $*" >&2
+ exit 1
+}
+
+func_tmpdir
+trap 'rm -rf "${tmp}"' EXIT
+tmpf="${tmp}/tests.txt"
+
+cat > "${tmpf}" <<- _EOF_
+ 1 Y 2 M 3 W 4 d 5 h 6 m 7 s
+ P 00010225 T 05:06:07
+ P 1Y2M3W4D T 5H6M7S
+ 1 Y 2 M 25 D 5:6:7
+ 1 Y 2 M 25 d 5h 6:7
+ 1 Y 2 M 25 d 5h 6m 7
+ P 1-2-25 T 5:6:7
+ _EOF_
+
+exec 3< "${tmpf}"
+while read line <&3
+do
+ v=`${exe} "${line}"` || { ls -l "${tmpf}"; die "Failed: ${exe} '${line}'"; }
+ test $v -eq 38898367 || die $v is not 38898367
+done
+exec 3>&-