summaryrefslogtreecommitdiff
path: root/shell/hush_test
diff options
context:
space:
mode:
authorDenys Vlasenko2023-06-15 13:56:12 +0200
committerDenys Vlasenko2023-06-15 13:56:12 +0200
commitea6dcbe2839fb21049baadd0d5da903ae11661ec (patch)
tree66408551d3fdb6957e1ced4951c23b5f24226965 /shell/hush_test
parent22cb0d573a5cabd24fa648f1a13c22acf661a4a3 (diff)
downloadbusybox-ea6dcbe2839fb21049baadd0d5da903ae11661ec.zip
busybox-ea6dcbe2839fb21049baadd0d5da903ae11661ec.tar.gz
shell/math: fix order of expansion of variables to numbers
This fixes arith-assign-in-varexp1.tests function old new delta evaluate_string 1132 1258 +126 arith_lookup_val 143 - -143 arith_apply 1132 977 -155 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 1/1 up/down: 126/-298) Total: -172 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/hush_test')
-rw-r--r--shell/hush_test/hush-arith/arith-assign-in-varexp1.right2
-rwxr-xr-xshell/hush_test/hush-arith/arith-assign-in-varexp1.tests9
2 files changed, 11 insertions, 0 deletions
diff --git a/shell/hush_test/hush-arith/arith-assign-in-varexp1.right b/shell/hush_test/hush-arith/arith-assign-in-varexp1.right
new file mode 100644
index 0000000..1feb307
--- /dev/null
+++ b/shell/hush_test/hush-arith/arith-assign-in-varexp1.right
@@ -0,0 +1,2 @@
+7:7
+x=3
diff --git a/shell/hush_test/hush-arith/arith-assign-in-varexp1.tests b/shell/hush_test/hush-arith/arith-assign-in-varexp1.tests
new file mode 100755
index 0000000..fc8ac9d
--- /dev/null
+++ b/shell/hush_test/hush-arith/arith-assign-in-varexp1.tests
@@ -0,0 +1,9 @@
+exec 2>&1
+a='x=1'
+b='x=2'
+c='x=3'
+# The variables should evaluate immediately when they encountered,
+# not when they go into an operation. Here, order of evaluation
+# of names to numbers should be a,b,c - not b,c,a:
+echo 7:$((a+b*c))
+echo "x=$x"