From 8e5dac3900765549e8793aba1339cc73aa8cf62c Mon Sep 17 00:00:00 2001 From: Vern Paxson Date: Thu, 24 Aug 2023 15:49:13 -0700 Subject: [PATCH] BTests for any/vector-of-any fixes --- .../language.vector-any-append/.stderr | 2 + .../Baseline/language.vector-any-append/out | 5 +++ testing/btest/language/vector-any-append.zeek | 43 +++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 testing/btest/Baseline/language.vector-any-append/.stderr diff --git a/testing/btest/Baseline/language.vector-any-append/.stderr b/testing/btest/Baseline/language.vector-any-append/.stderr new file mode 100644 index 0000000000..c58d3b33aa --- /dev/null +++ b/testing/btest/Baseline/language.vector-any-append/.stderr @@ -0,0 +1,2 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. +error in <...>/vector-any-append.zeek, line 61: incompatible vector element assignment (v7 += v5 and [a, -3]) diff --git a/testing/btest/Baseline/language.vector-any-append/out b/testing/btest/Baseline/language.vector-any-append/out index c6c6fd79a1..5c637b1f16 100644 --- a/testing/btest/Baseline/language.vector-any-append/out +++ b/testing/btest/Baseline/language.vector-any-append/out @@ -1,2 +1,7 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. [0, 1, 2, 3] +[4, 0, 1, 2, 3] +[1, 2, 3, [4, 5]], 4, count, count, vector of count +[[r=r], [r=r], [s=s], [s=s]] +[a, -3] +[] diff --git a/testing/btest/language/vector-any-append.zeek b/testing/btest/language/vector-any-append.zeek index 599859b1d8..c84de88b6d 100644 --- a/testing/btest/language/vector-any-append.zeek +++ b/testing/btest/language/vector-any-append.zeek @@ -1,5 +1,6 @@ # @TEST-EXEC: zeek -b %INPUT >out # @TEST-EXEC: btest-diff out +# @TEST-EXEC: TEST_DIFF_CANONIFIER=$SCRIPTS/diff-remove-abspath btest-diff .stderr function assign(v: vector of any) { @@ -11,6 +12,17 @@ function append(v: vector of any) v += |v|; } +type R: record { r: string &default="r"; }; +type S: record { s: string &default="s"; }; + +global q: vector of any; + +function keep_this_two_ways(r: any) + { + q += r; + q[|q|] = r; + } + event zeek_init() { local v: vector of count; @@ -19,4 +31,35 @@ event zeek_init() append(v); append(v); print v; + + local v2: vector of any; + v2 += |v|; + v2 += v; + print v2; + + local v3: vector of any; + local v4: any = vector(4, 5); + + v3 += 1; + v3 += vector(2, 3); + v3 += v4; + + print v3, |v3|, type_name(v3[0]), type_name(v3[1]), type_name(v3[3]); + + keep_this_two_ways(R()); + keep_this_two_ways(S()); + print q; + + local v5: vector of any; + local v6: vector of any; + local v7: vector of count; + + v5 += "a"; + v5 += -3; + + v6 += v5; + v7 += v5; + + print v6; + print v7; }