Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/tests/bin/sleep Add subtests to verify that both "sleep 0.2"...



details:   https://anonhg.NetBSD.org/src/rev/66625026e55a
branches:  trunk
changeset: 447686:66625026e55a
user:      kre <kre%NetBSD.org@localhost>
date:      Mon Jan 21 13:19:18 2019 +0000

description:
Add subtests to verify that both "sleep 0.2" and "sleep 0,2" work
when the locale is ru_RU.UTF-8 (which has ',' as its decimal radix char).
Inspired by a problem with rc.subr experiened by ru_RU.UTF-8 reported on
netbsd-users.  These are in the "fraction" test case.

While here, add some more (sub-)tests of invalid input, to make sure they
fail (in the "nonnumeric" test case), and for fun, a couple of subtests
testing hex input fractional delays (in the "hex" test case).

diffstat:

 tests/bin/sleep/t_sleep.sh |  22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

diffs (50 lines):

diff -r a7e6ca74680e -r 66625026e55a tests/bin/sleep/t_sleep.sh
--- a/tests/bin/sleep/t_sleep.sh        Mon Jan 21 08:04:26 2019 +0000
+++ b/tests/bin/sleep/t_sleep.sh        Mon Jan 21 13:19:18 2019 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: t_sleep.sh,v 1.1 2012/03/30 09:27:10 jruoho Exp $
+# $NetBSD: t_sleep.sh,v 1.2 2019/01/21 13:19:18 kre Exp $
 #
 # Copyright (c) 2012 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -39,6 +39,13 @@
        atf_check -s exit:0 -o empty -e empty -x "sleep 0.1"
        atf_check -s exit:0 -o empty -e empty -x "sleep 0.2"
        atf_check -s exit:0 -o empty -e empty -x "sleep 0.3"
+
+       # check that '.' as the radix works, even when the
+       # locale is one which uses something different
+       atf_check -s exit:0 -o empty -e empty -x "LC_ALL=ru_RU.UTF-8 sleep 0.2"
+
+       # and that it is possible to use the locale's radix char (',' here)
+       atf_check -s exit:0 -o empty -e empty -x "LC_ALL=ru_RU.UTF-8 sleep 0,2"
 }
 
 atf_test_case hex
@@ -49,6 +56,8 @@
 hex_body() {
 
        atf_check -s exit:0 -o empty -e empty -x "sleep 0x01"
+       atf_check -s exit:0 -o empty -e empty -x "sleep 0x0.F"
+       atf_check -s exit:0 -o empty -e empty -x "sleep 0x.B"
 }
 
 atf_test_case nonnumeric
@@ -62,6 +71,17 @@
        atf_check -s not-exit:0 -o empty -e not-empty -x "sleep xyz"
        atf_check -s not-exit:0 -o empty -e not-empty -x "sleep x21"
        atf_check -s not-exit:0 -o empty -e not-empty -x "sleep  /3"
+       atf_check -s not-exit:0 -o empty -e not-empty -x "sleep 3+1"
+       atf_check -s not-exit:0 -o empty -e not-empty -x "sleep 0xFG"
+
+       # This includes using an invalid radix char for the locale in use
+       atf_check -s not-exit:0 -o empty -e not-empty -x "LC_ALL=C sleep 3,1"
+
+       # no arg at all (that's non-numeric, right?)
+       atf_check -s not-exit:0 -o empty -e not-empty -x "sleep"
+
+       # and giving 2 or more args is also invalid, even if they are numeric
+       atf_check -s not-exit:0 -o empty -e not-empty -x "sleep 1 2"
 }
 
 atf_init_test_cases() {



Home | Main Index | Thread Index | Old Index