summary refs log tree commit diff
path: root/bin/1sh/tests/expansion/arith16.0
diff options
context:
space:
mode:
Diffstat (limited to 'bin/1sh/tests/expansion/arith16.0')
-rw-r--r--bin/1sh/tests/expansion/arith16.026
1 files changed, 26 insertions, 0 deletions
diff --git a/bin/1sh/tests/expansion/arith16.0 b/bin/1sh/tests/expansion/arith16.0
new file mode 100644
index 00000000..619889f8
--- /dev/null
+++ b/bin/1sh/tests/expansion/arith16.0
@@ -0,0 +1,26 @@
+# $FreeBSD: releng/12.1/bin/sh/tests/expansion/arith16.0 345117 2019-03-13 21:53:10Z jilles $
+
+failures=0
+
+for x in \
+	0x10000000000000000 \
+	-0x8000000000000001 \
+	0xfffffffffffffffffffffffffffffffff \
+	-0xfffffffffffffffffffffffffffffffff \
+	02000000000000000000000 \
+	9223372036854775808 \
+	9223372036854775809 \
+	-9223372036854775809 \
+	9999999999999999999999999 \
+	-9999999999999999999999999
+do
+	msg=$({
+		v=$((x)) || :
+	} 3>&1 >&2 2>&3 3>&-)
+	r=$?
+	if [ "$r" = 0 ] || [ -z "$msg" ]; then
+		printf 'Failed: %s\n' "$x"
+		: $((failures += 1))
+	fi
+done
+exit $((failures > 0))