aboutsummaryrefslogtreecommitdiff
path: root/testsuite/testing.sh
AgeCommit message (Collapse)Author
2008-05-02testing.sh: bashisms are eradicated.Denis Vlasenko
By Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn AT axis.com>
2007-11-26testsuite: add tests for cut and grep;Denis Vlasenko
slight improvements to infrastructure
2007-08-06sed: fix 'q' command handling ("Nguyen Thai Ngoc Duy" <pclouds@gmail.com>)Denis Vlasenko
add testsuite entry for it. Fix applet order checker. Fix cmp yelling. trylink: fix error file and map file generation applets: fix applet order
2007-06-05remove bashisms from testsuiteDenis Vlasenko
2006-09-17whitespace cleanupDenis Vlasenko
2006-06-15Don't do workarounds for broken shells. Busybox is about to grow a shell thatRob Landley
we can run our own testsuite under, and I want it to handle the full range of strange and peverted behavior you can find in real world shell scripts. In the meantime, I'll just say #!/bin/bash in places that may care.
2006-05-25make the testsuite a little less brittle:Bernhard Reutner-Fischer
- 'function fn_name\n{' breaks on older FreeBSD default shells, so use the more widely supported 'fn_name () {'. This needs more fixing.. - test for integers ought to use the proper operators - test for strings ought to use quoting of the strings to be fair to strange implementations of test(1) - make sure not to ignore return-codes != 0 from commands; Some shells exit immediately on this (much like explicitely requesting set -e in e.g. bash) TODO: *) Some older shells do not allow a space after the test-condition in an "if" statement. This doesn't work: if [ $status -ne 0 ] ; then as opposed to this: if [ $status -ne 0 ]; then or this if [ $status -ne 0 ] then *) strict spacing between commands. In some shells you have to say: foo ; bar ; baz The affected shells barf on stuff like ommitting the space, so this doesn't work: foo; bar ;baz *) $() vs. `` The former isn't really portable as opposed to the latter. *) fix frong assumption that the testsuite is run from the source-dir. This is a complete misconception and renders the testsuite completely useless. That said, i note that IMO a test-harness ought to do it's best to work in a wide variety of environments, everything else defeats it's purpose.
2006-05-02Minor tweaks: remove traces of old $COMMAND environment variable.Rob Landley
2006-04-01remove bogus "Mike Frysinger
2006-03-18Make the new chroot environment creation infrastructure more flexible aboutRob Landley
non-absolute paths.
2006-03-16Redo test suite to be able to test more than one command at a time. EliminateRob Landley
$COMMAND environment variable, instead put full command line (including command to run) in second argument. Modify $PATH to have test versions of commands at start of path. (Also more infrastructure for testing as root, work in progress...)
2006-03-09I'm about to introduce tests that need to run as root (like mount.tests),Rob Landley
meaning we want to run them in a chroot environment. To help with this, I worked out a utility function that makes it really easy to set up a chroot environment.
2006-02-16When setting an environment variable by piping something into grep, backquotesRob Landley
can be useful. Also tweak an if case to be more portable.
2005-11-07Fix the test suite so that individual *.tests files can be run alaRob Landley
COMMAND=sort ./sort.tests So we can compare against non-busybox versions, and possibly our testsuite will be useful to somebody like the Linux Test Project someday. Redid testing.sh to add new command, "optional", to skip tests that require certain features. (use: `optional FEATURE_SORT_BIG`, or `optional ""` to stop skipping.) Note that optional is a NOP if the environment variable "OPTIONFLAGS" is blank, so although we're marking up the tests with busybox specific knowledge, it doesn't interfere with running the tests without busybox. Moved setting the "OPTIONFLAGS" environment variable to runtest. Philosophy: busybox-specific stuff belongs in runtest; both testing.sh and the tests themselves should be as busybox-agnostic as possible. Moved detecting that a command isn't in busybox at all (hence skipping the entire command.tests file) to runtests. Rationale: optional can't currently test for more than one feature at a time, so if we clear anything with optional "" we might perform tests we don't want to. Marked up busybox.tests to know which tests need CAT enabled. Fixed up other tests to be happy with new notation. I suspect egrep should be appended to grep. It's a sub-feature, really...
2005-10-06- support make check V=1 to run the checks in verbose modeBernhard Reutner-Fischer
- pass verbose from runtest to testing.sh
2005-09-24cleanup option parsingMike Frysinger
2005-09-23- introduce variable _BB_CONFIG_DEP to the new test harness.Bernhard Reutner-Fischer
This is used to see if given tests should be run (are available) or not. Print "UNTESTED: descr" if the applet or feature is not available. - add _BB_CONFIG_DEP to existing new.tests - move old grep test to new test infrastructure and add a few more test for grep.
2005-09-04General cleanup of command line parsing to allow "busybox" to work as a prefix.Rob Landley
(I.E. any argv[0] that starts with "busybox" winds up in busybox_main().) Added testing/busybox.tests which tests the following permutations: ./busybox ./busybox-suffix ./busybox cat ./busybox-suffix cat ./busybox --help ./busybox-suffix --help ./busybox --help cat ./busybox-suffix --help cat ./busybox --help unknown ./busybox-suffix --help unknown ./unknown Also repair the test suite so ./runtest calls the ".tests" scripts properly. Note: you can now go "busybox busybox busbox ls -l" and it'll take it. The new code is pretty generic. I can block that if anybody can come up with a good reason to...
2005-09-02Working on a new test harness. Moved the sort tests into it.Rob Landley