find:: get rid of nested function (it's a gcc-ism)
[oweals/busybox.git] / testsuite / awk.tests
index d4c390d3120a4f3c59151673d4a16d75a6247237..dad49c3f54d9c10c15c88ca0970346e583916513 100755 (executable)
@@ -25,6 +25,25 @@ testing "awk if string == "    "awk 'BEGIN{if(\"a\"==\"ab\") print \"bar\"}'" ""
 
 # 4294967295 = 0xffffffff
 testing "awk bitwise op"  "awk '{ print or(4294967295,1) }'" "4.29497e+09\n" "" "\n"
+
+# we were testing for a non-empty body when deciding if a function was
+# defined or not. The testcase below caused:
+# awk: cmd. line:8: Call to undefined function
+prg='
+function empty_fun(count) {
+  # empty
+}
+END {
+  i=1
+  print "L" i "\n"
+  empty_fun(i + i + ++i)
+  print "L" i "\n"
+}'
+testing "awk handles empty function f(arg){}" \
+       "awk '$prg'" \
+       "L1\n\nL2\n\n" \
+       "" ""
+
 optional DESKTOP
 testing "awk hex const 1" "awk '{ print or(0xffffffff,1) }'" "4.29497e+09\n" "" "\n"
 testing "awk hex const 2" "awk '{ print or(0x80000000,1) }'" "2.14748e+09\n" "" "\n"
@@ -217,4 +236,11 @@ end d
 testing "awk handles empty ()" \
        "awk 'BEGIN {print()}' 2>&1" "awk: cmd. line:1: Empty sequence\n" "" ""
 
+testing "awk FS assignment" "awk '{FS=\":\"; print \$1}'" \
+       "a:b\ne\n" \
+       "" \
+       "a:b c:d\ne:f g:h"
+
+# testing "description" "command" "result" "infile" "stdin"
+
 exit $FAILCOUNT