aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2021-04-14 17:33:07 +0300
committerArnold D. Robbins <arnold@skeeve.com>2021-04-14 17:33:07 +0300
commita8f16ebdef4e43fcda9a4956e8ef528c33728047 (patch)
tree20c7b903104970098337a1f322c8b05ed2c67ece /test
parentf271311ac33d44e68da147a273847c3ce8552bb8 (diff)
downloadegawk-a8f16ebdef4e43fcda9a4956e8ef528c33728047.tar.gz
egawk-a8f16ebdef4e43fcda9a4956e8ef528c33728047.tar.bz2
egawk-a8f16ebdef4e43fcda9a4956e8ef528c33728047.zip
Fixes for lint check of no effect.
Diffstat (limited to 'test')
-rw-r--r--test/ChangeLog6
-rw-r--r--test/lintwarn.ok12
-rw-r--r--test/noeffect.awk18
-rw-r--r--test/noeffect.ok12
4 files changed, 37 insertions, 11 deletions
diff --git a/test/ChangeLog b/test/ChangeLog
index 53fe5627..641a9849 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,9 @@
+2021-04-14 Arnold D. Robbins <arnold@skeeve.com>
+
+ * noeffect.awk: Add more test cases. Thanks to Wolfgang Laun
+ <wolfgang.laun@gmail.com>.
+ * lintwarn.ok, noeffect.ok: Updated after code and test changes.
+
2021-02-13 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.am (EXTRA_DIST): argcasfile, new test.
diff --git a/test/lintwarn.ok b/test/lintwarn.ok
index d0993ea7..4f503b46 100644
--- a/test/lintwarn.ok
+++ b/test/lintwarn.ok
@@ -1,15 +1,15 @@
gawk: lintwarn.awk:2: warning: `BEGINFILE' is a gawk extension
gawk: lintwarn.awk:3: error: non-redirected `getline' invalid inside `BEGINFILE' rule
gawk: lintwarn.awk:4: error: non-redirected `getline' invalid inside `BEGINFILE' rule
-gawk: lintwarn.awk:8: warning: statement may have no effect
+gawk: lintwarn.awk:8: warning: statement has no effect
gawk: lintwarn.awk:9: warning: plain `print' in BEGIN or END rule should probably be `print ""'
gawk: lintwarn.awk:10: error: `nextfile' used in BEGIN action
gawk: lintwarn.awk:12: warning: `delete(array)' is a non-portable tawk extension
gawk: lintwarn.awk:13: warning: regular expression on right of assignment
gawk: lintwarn.awk:14: warning: regular expression on right of comparison
-gawk: lintwarn.awk:14: warning: statement may have no effect
+gawk: lintwarn.awk:14: warning: statement has no effect
gawk: lintwarn.awk:15: warning: regular expression on left of `~' or `!~' operator
-gawk: lintwarn.awk:15: warning: statement may have no effect
+gawk: lintwarn.awk:15: warning: statement has no effect
gawk: lintwarn.awk:16: warning: call of `length' without parentheses is not portable
gawk: lintwarn.awk:17: warning: `switch' is a gawk extension
gawk: lintwarn.awk:18: warning: `case' is a gawk extension
@@ -23,12 +23,12 @@ gawk: lintwarn.awk:25: error: `next' used in BEGIN action
gawk: lintwarn.awk:26: a[]
gawk: lintwarn.awk:26: ^ syntax error
gawk: lintwarn.awk:26: error: invalid subscript expression
-gawk: lintwarn.awk:26: warning: statement may have no effect
+gawk: lintwarn.awk:26: warning: statement has no effect
gawk: lintwarn.awk:27: warning: regexp constant for parameter #1 yields boolean value
gawk: lintwarn.awk:28: warning: regexp constant `//' looks like a C++ comment, but is not
-gawk: lintwarn.awk:28: warning: statement may have no effect
+gawk: lintwarn.awk:28: warning: statement has no effect
gawk: lintwarn.awk:29: warning: regexp constant `/* */' looks like a C comment, but is not
-gawk: lintwarn.awk:29: warning: statement may have no effect
+gawk: lintwarn.awk:29: warning: statement has no effect
gawk: lintwarn.awk:32: warning: non-redirected `getline' undefined inside END action
gawk: lintwarn.awk:34: error: function `zz': parameter #2, `aa', duplicates parameter #1
gawk: lintwarn.awk:38: warning: `include' is a gawk extension
diff --git a/test/noeffect.awk b/test/noeffect.awk
index 4be76b1e..107ccbe5 100644
--- a/test/noeffect.awk
+++ b/test/noeffect.awk
@@ -7,4 +7,22 @@ BEGIN {
42
q = 42
q
+
+ a = b = 42
+
+ a * b
+ a != b
+ # the following should not produce warnings
+ a++ == a--
+ f_without_side_effect(a);
+ f_with_side_effect(b) == 2
+ 1 == 2 && a++
+ 1 == 1 || b--
+ a = a
+ a *= 1
+ a += 0
+ a*a < 0 && b = 1001
}
+
+function f_without_side_effect(x) { }
+function f_with_side_effect(x) { }
diff --git a/test/noeffect.ok b/test/noeffect.ok
index 9778a4bb..38dc9dd4 100644
--- a/test/noeffect.ok
+++ b/test/noeffect.ok
@@ -1,8 +1,10 @@
-gawk: noeffect.awk:2: warning: statement may have no effect
-gawk: noeffect.awk:3: warning: statement may have no effect
-gawk: noeffect.awk:5: warning: statement may have no effect
-gawk: noeffect.awk:2: warning: reference to uninitialized variable `s'
-gawk: noeffect.awk:3: warning: reference to uninitialized variable `s'
+gawk: noeffect.awk:2: warning: statement has no effect
+gawk: noeffect.awk:3: warning: statement has no effect
+gawk: noeffect.awk:5: warning: statement has no effect
gawk: noeffect.awk:6: warning: statement has no effect
gawk: noeffect.awk:7: warning: statement has no effect
gawk: noeffect.awk:9: warning: statement has no effect
+gawk: noeffect.awk:13: warning: statement has no effect
+gawk: noeffect.awk:14: warning: statement has no effect
+gawk: noeffect.awk:2: warning: reference to uninitialized variable `s'
+gawk: noeffect.awk:3: warning: reference to uninitialized variable `s'