On Fri, 12 May 2023, David Leonard wrote:
* Added tests for od (non-DESKTOP little-endian)
* Allow 'optional' to invert meaning of a config option with '!'

Hmm, that patch seems to have been a bit mangled in transit. Attaching.
From 78f493ff5b29834dc537d554ba702160a58f70b1 Mon Sep 17 00:00:00 2001
From: David Leonard <[email protected]>
Date: Thu, 11 May 2023 23:49:58 +1000
Subject: [PATCH 2/2] od: add tests

* Added tests for od (non-DESKTOP little-endian)
* Allow 'optional' to invert meaning of a config option with '!'
---
 testsuite/od.tests   | 191 +++++++++++++++++++++++++++++++++++++++++++
 testsuite/testing.sh |  10 +++
 2 files changed, 201 insertions(+)

diff --git a/testsuite/od.tests b/testsuite/od.tests
index 0880e0d2f..f6298a43c 100755
--- a/testsuite/od.tests
+++ b/testsuite/od.tests
@@ -6,6 +6,197 @@
 
 # testing "test name" "commands" "expected result" "file input" "stdin"
 
+input="$(printf '\001\002\003\nABC\xfe')"
+
+_le=$(printf '\0\1' | od -i | grep -q 256 && echo 1)
+le () { [ $_le ] || SKIP=1; }
+
+optional !DESKTOP
+testing "od -a (!DESKTOP)" \
+        "od -a" \
+"\
+0000000  soh stx etx  lf   A   B   C  fe                                
+0000010
+" \
+	"" "$input"
+
+optional !DESKTOP
+testing "od -B (!DESKTOP)" \
+        "od -B" \
+"\
+0000000   001001  005003  041101  177103                                
+0000010
+" \
+	"" "$input"
+
+optional !DESKTOP
+le
+testing "od -o (!DESKTOP little-endian)" \
+        "od -o" \
+"\
+0000000   001001  005003  041101  177103                                
+0000010
+" \
+	"" "$input"
+
+optional !DESKTOP
+testing "od -b (!DESKTOP)" \
+        "od -b" \
+"\
+0000000  001 002 003 012 101 102 103 376                                
+0000010
+" \
+	"" "$input"
+
+optional !DESKTOP
+testing "od -c (!DESKTOP)" \
+        "od -c" \
+"\
+0000000  001 002 003  \\\\n   A   B   C 376                                
+0000010
+" \
+	"" "$input"
+
+optional !DESKTOP
+le
+testing "od -d (!DESKTOP little-endian)" \
+        "od -d" \
+"\
+0000000    00513   02563   16961   65091                                
+0000010
+" \
+	"" "$input"
+
+optional !DESKTOP
+le
+testing "od -D (!DESKTOP little-endian)" \
+        "od -D" \
+"\
+0000000       0167969281      4265820737                                
+0000010
+" \
+	"" "$input"
+
+optional !DESKTOP
+le
+testing "od -e (!DESKTOP little-endian)" \
+        "od -e" \
+"\
+0000000            -1.61218556514036e+300                                
+0000010
+" \
+	"" "$input"
+
+optional !DESKTOP
+le
+testing "od -F (!DESKTOP little-endian)" \
+        "od -F" \
+"\
+0000000            -1.61218556514036e+300                                
+0000010
+" \
+	"" "$input"
+
+optional !DESKTOP
+le
+testing "od -f (!DESKTOP little-endian)" \
+        "od -f" \
+"\
+0000000    6.3077975e-33  -6.4885867e+37                                
+0000010
+" \
+	"" "$input"
+
+optional !DESKTOP
+le
+testing "od -H (!DESKTOP little-endian)" \
+        "od -H" \
+"\
+0000000         0a030201        fe434241                                
+0000010
+" \
+	"" "$input"
+
+optional !DESKTOP
+le
+testing "od -X (!DESKTOP little-endian)" \
+        "od -X" \
+"\
+0000000         0a030201        fe434241                                
+0000010
+" \
+	"" "$input"
+
+optional !DESKTOP
+le
+testing "od -h (!DESKTOP little-endian)" \
+        "od -h" \
+"\
+0000000     0201    0a03    4241    fe43                                
+0000010
+" \
+	"" "$input"
+
+optional !DESKTOP
+le
+testing "od -x (!DESKTOP little-endian)" \
+        "od -x" \
+"\
+0000000     0201    0a03    4241    fe43                                
+0000010
+" \
+	"" "$input"
+
+optional !DESKTOP
+le
+testing "od -I (!DESKTOP little-endian)" \
+        "od -I" \
+"\
+0000000        167969281       -29146559                                
+0000010
+" \
+	"" "$input"
+
+optional !DESKTOP
+le
+testing "od -L (!DESKTOP little-endian)" \
+        "od -L" \
+"\
+0000000        167969281       -29146559                                
+0000010
+" \
+	"" "$input"
+
+optional !DESKTOP
+le
+testing "od -i (!DESKTOP little-endian)" \
+        "od -i" \
+"\
+0000000      513    2563   16961    -445                                
+0000010
+" \
+	"" "$input"
+
+optional !DESKTOP
+le
+testing "od -O (!DESKTOP little-endian)" \
+        "od -O" \
+"\
+0000000      01200601001     37620641101                                
+0000010
+" \
+	"" "$input"
+
+optional !DESKTOP
+le
+testing "od -l (!DESKTOP little-endian)" \
+        "od -l" \
+"\
+0000000        167969281       -29146559                                
+0000010
+" \
+	"" "$input"
+
 optional DESKTOP
 testing "od -b" \
 	"od -b" \
diff --git a/testsuite/testing.sh b/testsuite/testing.sh
index f5b756947..95bb46dda 100644
--- a/testsuite/testing.sh
+++ b/testsuite/testing.sh
@@ -56,11 +56,21 @@ optional()
 {
 	SKIP=
 	while test "$1"; do
+	    case $1 in
+	    "!"*)
+		case "${OPTIONFLAGS}" in
+			*:${1#!}:*) SKIP=1; return;;
+		esac
+		shift
+		;;
+	    *)
 		case "${OPTIONFLAGS}" in
 			*:$1:*) ;;
 			*) SKIP=1; return ;;
 		esac
 		shift
+		;;
+	    esac
 	done
 }
 
-- 
2.34.1

_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to