summaryrefslogtreecommitdiff
path: root/testsuite/awk.tests
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer2013-07-31 15:29:20 +0200
committerBernhard Reutner-Fischer2013-07-31 21:51:14 +0200
commita060a1ad9655dede51f842873672652bf78a3e8e (patch)
tree0d7a4acf67c5b1f319e7b0036fef893a64b753a8 /testsuite/awk.tests
parente418b2e7bb814309641b5b8152a5401f1dc4904a (diff)
downloadbusybox-a060a1ad9655dede51f842873672652bf78a3e8e.zip
busybox-a060a1ad9655dede51f842873672652bf78a3e8e.tar.gz
awk: Fix handling of functions with empty body
ammend b79a0fef99627c457548e804fcd6e162b116cbe8 to properly handle functions defined in another scope. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Diffstat (limited to 'testsuite/awk.tests')
-rwxr-xr-xtestsuite/awk.tests28
1 files changed, 28 insertions, 0 deletions
diff --git a/testsuite/awk.tests b/testsuite/awk.tests
index 160f460..6af6072 100755
--- a/testsuite/awk.tests
+++ b/testsuite/awk.tests
@@ -44,6 +44,34 @@ testing "awk handles empty function f(arg){}" \
"L1\n\nL2\n\n" \
"" ""
+prg='
+function outer_fun() {
+ return 1
+}
+END {
+ i=1
+ print "L" i "\n"
+ i += outer_fun()
+ print "L" i "\n"
+}'
+testing "awk properly handles function from other scope" \
+ "awk '$prg'" \
+ "L1\n\nL2\n\n" \
+ "" ""
+
+prg='
+END {
+ i=1
+ print "L" i "\n"
+ i + trigger_error_fun()
+ print "L" i "\n"
+}'
+testing "awk properly handles undefined function" \
+ "awk '$prg' 2>&1" \
+ "L1\n\nawk: cmd. line:5: Call to undefined function\n" \
+ "" ""
+
+
optional DESKTOP
testing "awk hex const 1" "awk '{ print or(0xffffffff,1) }'" "4294967295\n" "" "\n"
testing "awk hex const 2" "awk '{ print or(0x80000000,1) }'" "2147483649\n" "" "\n"