376 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			376 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # testcases
 | |
| #
 | |
| # This file should be filled with test cases to test applets that:
 | |
| #
 | |
| #  - can somehow produce output (we can't test sync or sleep)
 | |
| #  - have a GNU (or other) counterpart
 | |
| #  - are not interactive (don't require a ^C or anything)
 | |
| #  - don't require extensive setup or cleanup (a litte setup is fine)
 | |
| #  - don't have huge and possibly damaging effects (fsck, swapoff)
 | |
| #
 | |
| # If possible, a test case should be made that tests each option the applet
 | |
| # supports. When a new option is added, a new test case should be written for
 | |
| # it. When somebody reports a bug with a testcase, that testcase should be
 | |
| # added here as well.
 | |
| #
 | |
| # Some other guidelines to follow:
 | |
| #
 | |
| #  - please try to keep applets alphabetized, it will make life easier
 | |
| #  - use the file tester.sh or testcases when you need to do a non-destructive
 | |
| #    test on a file (i.e., cat, md5sum)
 | |
| #  - try to make the applet you're testing the first thing on the line (this
 | |
| #    not always possible)
 | |
| #  - (???) if you have to create a temporary file, call it TMPFILE
 | |
| 
 | |
| 
 | |
| # ar
 | |
| 
 | |
| # basename
 | |
| basename `pwd`
 | |
| 
 | |
| # cat
 | |
| cat tester.sh
 | |
| echo hello there | cat tester.sh -
 | |
| 
 | |
| # chmod
 | |
| # chown
 | |
| # chgrp
 | |
| # chroot
 | |
| # chvt - can't be tested here
 | |
| # clear - can't be tested here
 | |
| # cmp
 | |
| # cp
 | |
| 
 | |
| # cut
 | |
| echo "1234" | cut -c1
 | |
| echo "1234" | cut -c 1
 | |
| echo "1234567890" | cut -c2-7
 | |
| echo "1234567890" | cut -c 2-7
 | |
| echo "f1	f2" | cut -f2
 | |
| echo "f1	f2" | cut -f 2
 | |
| echo "f1	f2	f3	f4	f5" | cut -f2-4
 | |
| echo "f1	f2	f3	f4	f5" | cut -f 2-4
 | |
| 
 | |
| # date
 | |
| date
 | |
| date -R
 | |
| date -u
 | |
| date +%d/%m/%y
 | |
| 
 | |
| # dc - needs an input file
 | |
| 
 | |
| # dd
 | |
| dd if=/dev/urandom of=O bs=1k count=1 ; ls -l O ; rm O
 | |
| 
 | |
| # deallocvt
 | |
| 
 | |
| # df
 | |
| df
 | |
| df .
 | |
| df -k
 | |
| df -h
 | |
| df -m
 | |
| 
 | |
| # dirname
 | |
| dirname `pwd`
 | |
| 
 | |
| # dmesg (XXX: change the silly cmd business in the source)
 | |
| dmesg
 | |
| dmesg -n 8
 | |
| dmesg -s 512
 | |
| # I really don't want to do this next one
 | |
| #dmesg -c
 | |
| 
 | |
| # dos2unix - needs an input file
 | |
| # dpkg
 | |
| # dpkg_deb
 | |
| 
 | |
| # du
 | |
| du
 | |
| du -s
 | |
| du -l
 | |
| du -k
 | |
| du -h
 | |
| du -m
 | |
| 
 | |
| # dumpkmap - no counterprt?
 | |
| # dutmp - no counterprt?
 | |
| 
 | |
| # echo
 | |
| echo "foo bar baz"
 | |
| echo -n "no newline"
 | |
| 
 | |
| 
 | |
| # expr
 | |
| expr 1 \\| 1
 | |
| expr 1 \\| 0
 | |
| expr 0 \\| 1
 | |
| expr 0 \\| 0
 | |
| 
 | |
| expr 1 \\& 1
 | |
| expr 1 \\& 0
 | |
| expr 0 \\& 1
 | |
| expr 0 \\& 0
 | |
| 
 | |
| expr 0 \\< 1
 | |
| expr 1 \\< 0
 | |
| 
 | |
| expr 1 \\> 0
 | |
| expr 0 \\> 1
 | |
| 
 | |
| expr 0 \\<= 1
 | |
| expr 1 \\<= 0
 | |
| expr 1 \\<= 1
 | |
| 
 | |
| expr 1 \\>= 0
 | |
| expr 0 \\>= 1
 | |
| expr 1 \\>= 1
 | |
| 
 | |
| expr 1 + 2
 | |
| expr 2 - 1
 | |
| expr 2 \\* 3
 | |
| expr 12 / 2
 | |
| expr 12 % 5
 | |
| 
 | |
| # somebody else can do all the string stuff
 | |
| 
 | |
| 
 | |
| # fbset - can't be tested here
 | |
| # fdflush
 | |
| # find
 | |
| find .
 | |
| 
 | |
| # free
 | |
| free
 | |
| 
 | |
| # freeramdisk
 | |
| # fsck.minix - won't test
 | |
| # getopt
 | |
| 
 | |
| # grep
 | |
| grep -l strdup ../*.c
 | |
| grep -c strdup ../*.c
 | |
| # I swear, GNU grep seems broken for this next one
 | |
| grep -lc strdup ../*.c
 | |
| grep -cv strdup ../*.c
 | |
| 
 | |
| # gunzip
 | |
| 
 | |
| # gzip
 | |
| echo testing 1 2 3 >tmpfile1; gzip tmpfile1; echo tmpfile*; md5sum tmpfile1.gz; rm tmpfile1.gz
 | |
| echo testing 1 2 3 | gzip >tmpfile1.gz; md5sum tmpfile1.gz; rm tmpfile1.gz
 | |
| # halt
 | |
| 
 | |
| # head
 | |
| head tester.sh
 | |
| head -n 2 tester.sh
 | |
| 
 | |
| # hostid
 | |
| hostid
 | |
| 
 | |
| # hostname
 | |
| hostname
 | |
| hostname -s
 | |
| hostname -i
 | |
| hostname -d
 | |
| # not going to do this next one
 | |
| #hostname -F
 | |
| 
 | |
| # id
 | |
| id
 | |
| id -u
 | |
| id -g
 | |
| id -ur
 | |
| id -un
 | |
| 
 | |
| 
 | |
| # ifconfig
 | |
| # requires BB_FEATURE_IFCONFIG_STATUS
 | |
| ifconfig
 | |
| #ifconfig -a
 | |
| #ifconfig eth0
 | |
| #ifconfig lo
 | |
| 
 | |
| # init - won't test
 | |
| # insmod - won't test
 | |
| 
 | |
| # kill
 | |
| #kill -l
 | |
| # not going to do any more
 | |
| 
 | |
| # length
 | |
| # ln - see ln_tests.mk
 | |
| # loadacm
 | |
| # loadfont
 | |
| # loadkmap
 | |
| # logger
 | |
| # logname
 | |
| 
 | |
| # ls
 | |
| ls ../e*
 | |
| ls -l ../e*
 | |
| ls -s ../e*
 | |
| ls -h ../e*
 | |
| ls -1 ../e*
 | |
| 
 | |
| # lsmod
 | |
| lsmod
 | |
| 
 | |
| # makedevs
 | |
| 
 | |
| # md5sum
 | |
| md5sum tester.sh
 | |
| 
 | |
| # mkdir
 | |
| mkdir D ; ls -ld D ; rmdir D
 | |
| 
 | |
| # mkfifo
 | |
| #
 | |
| # we will test making one. actually testing pushing data through it requires
 | |
| # more interaction than we can manage here.
 | |
| # (these lines turn up an existing ls bug)
 | |
| mkfifo F ; ls -l F ; rm F
 | |
| mkfifo -m 0600 F ; ls -l F ; rm F
 | |
| 
 | |
| # mkfs.minix - won't test
 | |
| # mknod
 | |
| # mkswap - won't test
 | |
| # mktemp
 | |
| # more - can't test: interactive
 | |
| 
 | |
| # mount
 | |
| mount
 | |
| # not going to test any more
 | |
| 
 | |
| # mt
 | |
| # mv - see mv_tests.mk
 | |
| # nc
 | |
| # nfsmount
 | |
| # nslookup
 | |
| # ping
 | |
| ping -c 3 yahoo.com
 | |
| # pivot_root
 | |
| # poweroff - won't test
 | |
| # printf
 | |
| # ps - there's lotsa differences between busybox ps and any other ps
 | |
| 
 | |
| # pwd
 | |
| pwd
 | |
| 
 | |
| # rdate - won't test
 | |
| 
 | |
| # readlink
 | |
| ln -sf tester.sh L ; readlink L ; rm -f L
 | |
| 
 | |
| # reboot - won't test
 | |
| # renice - won't test
 | |
| # reset - can't test: no output
 | |
| 
 | |
| # rm
 | |
| touch F ; rm F
 | |
| 
 | |
| # rmdir
 | |
| # rmmod - won't test: dangerous
 | |
| 
 | |
| # route
 | |
| route
 | |
| 
 | |
| # rpmunpack
 | |
| 
 | |
| # sed - we can do some one-liners here; probably needs it's own input file
 | |
| echo foo | sed -ne '/^$/p'
 | |
| sed -e '/test$/d' testcases
 | |
| sed -e '/^echo/d' testcases
 | |
| sed -e '/test/s/dangerous/PELIGROSO/' testcases
 | |
| 
 | |
| # setkeycodes
 | |
| 
 | |
| # sh - note that we cannot test the shell interactively here
 | |
| sh -c "echo a b c"
 | |
| sh -c ">"
 | |
| sh -c "a"
 | |
| #sh sh.testcases
 | |
| 
 | |
| 
 | |
| # sleep - can't test: produces no output
 | |
| 
 | |
| # sort
 | |
| sort tester.sh
 | |
| sort -n tester.sh
 | |
| sort -r tester.sh
 | |
| 
 | |
| # stty
 | |
| # swapon - won't test: dangerous
 | |
| # swapoff - won't test: dangerous
 | |
| # sync - can't test: no output
 | |
| # syslogd - won't test: too involved
 | |
| 
 | |
| # tail
 | |
| tail tester.sh
 | |
| tail -n 2  tester.sh
 | |
| 
 | |
| # tar
 | |
| 
 | |
| # tee
 | |
| echo "please tee me!" | tee A B C ; cat A B C
 | |
| echo "please tee me!" | tee A B C ; echo "tee me too!" | tee -a A B C ; cat A B C ; rm A B C
 | |
| 
 | |
| # telnet - can't test: interactive
 | |
| 
 | |
| # test
 | |
| # tftp
 | |
| 
 | |
| # touch
 | |
| touch tmpfile1; ls tmpfile1; rm -f tmpfile1
 | |
| touch -c tmpfile1; ls tmpfile1; rm -f tmpfile1
 | |
| 
 | |
| # tr
 | |
| echo "cbaab" | tr abc zyx
 | |
| echo "TESTING A B C" | tr [A-Z] [a-z]
 | |
| # not GNU compatible
 | |
| echo fdhrnzvfu bffvsentr | tr [a-z] [n-z][a-m]
 | |
| echo abc[] | tr a[b AXB
 | |
| echo testing | tr -d aeiou
 | |
| 
 | |
| # true
 | |
| true ; echo $?
 | |
| 
 | |
| # false
 | |
| false ; echo $?
 | |
| 
 | |
| # tty
 | |
| # umount
 | |
| # uname
 | |
| # uniq
 | |
| # unix2dos
 | |
| # update
 | |
| 
 | |
| # uptime
 | |
| uptime
 | |
| 
 | |
| # usleep
 | |
| # uudecode
 | |
| # uuencode
 | |
| # watchdog
 | |
| 
 | |
| # wc
 | |
| wc tester.sh
 | |
| wc -c tester.sh
 | |
| wc -w tester.sh
 | |
| wc -l tester.sh
 | |
| wc -L tester.sh
 | |
| 
 | |
| # wget
 | |
| 
 | |
| # which
 | |
| which ls
 | |
| 
 | |
| # whoami
 | |
| whoami
 | |
| 
 | |
| # xargs
 | |
| ls -1 ../e* | xargs
 | |
| ls -1 ../e* | xargs md5sum
 | |
| 
 | |
| # yes - can't test: interactive (needs ^C)
 |