From c378017269bfb01ab48d94a8142890a2ed9b3f19 Mon Sep 17 00:00:00 2001 From: Vern Paxson Date: Tue, 25 Jan 2022 10:47:33 -0800 Subject: [PATCH] btest to catch vector slice assignment issues --- .../Baseline/language.vector-slice-assign/out | 2 ++ .../btest/language/vector-slice-assign.zeek | 24 +++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 testing/btest/Baseline/language.vector-slice-assign/out create mode 100644 testing/btest/language/vector-slice-assign.zeek diff --git a/testing/btest/Baseline/language.vector-slice-assign/out b/testing/btest/Baseline/language.vector-slice-assign/out new file mode 100644 index 0000000000..d494ea9828 --- /dev/null +++ b/testing/btest/Baseline/language.vector-slice-assign/out @@ -0,0 +1,2 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. +[[seq=4], [seq=5], [seq=3], [seq=1], [seq=2], [seq=6], [seq=7]] diff --git a/testing/btest/language/vector-slice-assign.zeek b/testing/btest/language/vector-slice-assign.zeek new file mode 100644 index 0000000000..dcf4b5537f --- /dev/null +++ b/testing/btest/language/vector-slice-assign.zeek @@ -0,0 +1,24 @@ +# @TEST-EXEC: zeek -b %INPUT >out +# @TEST-EXEC: btest-diff out + +type testrec: record { + seq: count; +}; + +function make_recs(seqs: vector of count): vector of testrec +{ + local r: vector of testrec; + for (i in seqs) + r += testrec($seq=seqs[i]); + return r; +} + +event zeek_init() +{ + local seqs: vector of count = {1, 2, 3, 4, 5, 6, 7}; + local v = make_recs(seqs); + local tmp = v[0:2]; + v[0:2] = v[3:5]; + v[3:5] = tmp; + print v; +}