Home | History | Annotate | Line # | Download | only in sleep
t_sleep.sh revision 1.1.32.1
      1  1.1.32.1  pgoyette # $NetBSD: t_sleep.sh,v 1.1.32.1 2019/01/26 22:00:37 pgoyette Exp $
      2       1.1    jruoho #
      3       1.1    jruoho # Copyright (c) 2012 The NetBSD Foundation, Inc.
      4       1.1    jruoho # All rights reserved.
      5       1.1    jruoho #
      6       1.1    jruoho # This code is derived from software contributed to The NetBSD Foundation
      7       1.1    jruoho # by Jukka Ruohonen.
      8       1.1    jruoho #
      9       1.1    jruoho # Redistribution and use in source and binary forms, with or without
     10       1.1    jruoho # modification, are permitted provided that the following conditions
     11       1.1    jruoho # are met:
     12       1.1    jruoho # 1. Redistributions of source code must retain the above copyright
     13       1.1    jruoho #    notice, this list of conditions and the following disclaimer.
     14       1.1    jruoho # 2. Redistributions in binary form must reproduce the above copyright
     15       1.1    jruoho #    notice, this list of conditions and the following disclaimer in the
     16       1.1    jruoho #    documentation and/or other materials provided with the distribution.
     17       1.1    jruoho #
     18       1.1    jruoho # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
     19       1.1    jruoho # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
     20       1.1    jruoho # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     21       1.1    jruoho # PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
     22       1.1    jruoho # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     23       1.1    jruoho # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     24       1.1    jruoho # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     25       1.1    jruoho # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     26       1.1    jruoho # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     27       1.1    jruoho # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     28       1.1    jruoho # POSSIBILITY OF SUCH DAMAGE.
     29       1.1    jruoho #
     30       1.1    jruoho 
     31       1.1    jruoho atf_test_case fraction
     32       1.1    jruoho fraction_head() {
     33       1.1    jruoho 	atf_set "descr" "Test that sleep(1) handles " \
     34       1.1    jruoho 			"fractions of a second (PR bin/3914)"
     35       1.1    jruoho }
     36       1.1    jruoho 
     37       1.1    jruoho fraction_body() {
     38       1.1    jruoho 
     39       1.1    jruoho 	atf_check -s exit:0 -o empty -e empty -x "sleep 0.1"
     40       1.1    jruoho 	atf_check -s exit:0 -o empty -e empty -x "sleep 0.2"
     41       1.1    jruoho 	atf_check -s exit:0 -o empty -e empty -x "sleep 0.3"
     42  1.1.32.1  pgoyette 
     43  1.1.32.1  pgoyette 	# check that '.' as the radix works, even when the
     44  1.1.32.1  pgoyette 	# locale is one which uses something different
     45  1.1.32.1  pgoyette 	atf_check -s exit:0 -o empty -e empty -x "LC_ALL=ru_RU.UTF-8 sleep 0.2"
     46  1.1.32.1  pgoyette 
     47  1.1.32.1  pgoyette 	# and that it is possible to use the locale's radix char (',' here)
     48  1.1.32.1  pgoyette 	atf_check -s exit:0 -o empty -e empty -x "LC_ALL=ru_RU.UTF-8 sleep 0,2"
     49       1.1    jruoho }
     50       1.1    jruoho 
     51       1.1    jruoho atf_test_case hex
     52       1.1    jruoho hex_head() {
     53       1.1    jruoho 	atf_set "descr" "Test that sleep(1) handles hexadecimal arguments"
     54       1.1    jruoho }
     55       1.1    jruoho 
     56       1.1    jruoho hex_body() {
     57       1.1    jruoho 
     58       1.1    jruoho 	atf_check -s exit:0 -o empty -e empty -x "sleep 0x01"
     59  1.1.32.1  pgoyette 	atf_check -s exit:0 -o empty -e empty -x "sleep 0x0.F"
     60  1.1.32.1  pgoyette 	atf_check -s exit:0 -o empty -e empty -x "sleep 0x.B"
     61       1.1    jruoho }
     62       1.1    jruoho 
     63       1.1    jruoho atf_test_case nonnumeric
     64       1.1    jruoho nonnumeric_head() {
     65       1.1    jruoho 	atf_set "descr" "Test that sleep(1) errors out with " \
     66       1.1    jruoho 			"non-numeric argument (PR bin/27140)"
     67       1.1    jruoho }
     68       1.1    jruoho 
     69       1.1    jruoho nonnumeric_body() {
     70       1.1    jruoho 
     71       1.1    jruoho 	atf_check -s not-exit:0 -o empty -e not-empty -x "sleep xyz"
     72       1.1    jruoho 	atf_check -s not-exit:0 -o empty -e not-empty -x "sleep x21"
     73       1.1    jruoho 	atf_check -s not-exit:0 -o empty -e not-empty -x "sleep  /3"
     74  1.1.32.1  pgoyette 	atf_check -s not-exit:0 -o empty -e not-empty -x "sleep 3+1"
     75  1.1.32.1  pgoyette 	atf_check -s not-exit:0 -o empty -e not-empty -x "sleep 0xFG"
     76  1.1.32.1  pgoyette 
     77  1.1.32.1  pgoyette 	# This includes using an invalid radix char for the locale in use
     78  1.1.32.1  pgoyette 	atf_check -s not-exit:0 -o empty -e not-empty -x "LC_ALL=C sleep 3,1"
     79  1.1.32.1  pgoyette 
     80  1.1.32.1  pgoyette 	# no arg at all (that's non-numeric, right?)
     81  1.1.32.1  pgoyette 	atf_check -s not-exit:0 -o empty -e not-empty -x "sleep"
     82  1.1.32.1  pgoyette 
     83  1.1.32.1  pgoyette 	# and giving 2 or more args is also invalid, even if they are numeric
     84  1.1.32.1  pgoyette 	atf_check -s not-exit:0 -o empty -e not-empty -x "sleep 1 2"
     85       1.1    jruoho }
     86       1.1    jruoho 
     87       1.1    jruoho atf_init_test_cases() {
     88       1.1    jruoho 
     89       1.1    jruoho 	atf_add_test_case fraction
     90       1.1    jruoho 	atf_add_test_case hex
     91       1.1    jruoho 	atf_add_test_case nonnumeric
     92       1.1    jruoho }
     93