Merge remote-tracking branch 'origin/topic/timw/1740-table-key-error'

* origin/topic/timw/1740-table-key-error:
  GH-1741: Print error if calling a non-hook with hook keyword
  GH-1740: Report a better error message if table key is not a list
This commit is contained in:
Tim Wojtulewicz 2021-12-10 09:28:23 -07:00
commit 7a6a81c200
6 changed files with 31 additions and 11 deletions

View file

@ -1,9 +1,10 @@
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
error in ./invalid.zeek, line 9: hook cannot be called directly, use hook operator (myhook)
error in ./invalid.zeek, line 10: hook cannot be called directly, use hook operator (myhook)
error in ./invalid.zeek, line 11: hook cannot be called directly, use hook operator (myhook)
error in ./invalid.zeek, line 12: not a valid hook call expression (2 + 2)
warning in ./invalid.zeek, line 12: expression value ignored (2 + 2)
error in ./invalid.zeek, line 13: not a valid hook call expression (2 + 2)
error in ./invalid.zeek, line 15: hook cannot be called directly, use hook operator (h)
error in ./invalid.zeek, line 16: hook cannot be called directly, use hook operator (h)
error in ./invalid.zeek, line 14: hook cannot be called directly, use hook operator (myhook)
error in ./invalid.zeek, line 15: hook cannot be called directly, use hook operator (myhook)
error in ./invalid.zeek, line 16: hook cannot be called directly, use hook operator (myhook)
error in ./invalid.zeek, line 17: not a valid hook call expression (2 + 2)
warning in ./invalid.zeek, line 17: expression value ignored (2 + 2)
error in ./invalid.zeek, line 18: not a valid hook call expression (2 + 2)
error in ./invalid.zeek, line 20: hook cannot be called directly, use hook operator (h)
error in ./invalid.zeek, line 21: hook cannot be called directly, use hook operator (h)
error in ./invalid.zeek, line 24: hook keyword should only be used to call hooks (foo())

View file

@ -15,7 +15,7 @@ hook myhook(i: count)
hook myhook(i: count) &priority=-1
{
print "other myhook()", i;
}
}
function indirect(): hook(i: count)
{
@ -66,6 +66,11 @@ hook myhook(i: count)
if ( i == 0 ) break;
}
function foo()
{
print "foo()";
}
event zeek_init()
{
myhook(3);
@ -78,5 +83,6 @@ event zeek_init()
if ( h(3) )
print "hmm";
print "done";
hook foo();
}
@TEST-END-FILE