mirror of
https://github.com/zeek/zeek.git
synced 2025-10-09 10:08:20 +00:00
Add conversion between set and vector using 'as' keyword
This commit is contained in:
parent
59f7b26b51
commit
af9e852c28
8 changed files with 157 additions and 0 deletions
|
@ -0,0 +1,4 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
error in <...>/vector-set-conversions-errors.zeek, line 8: cast not supported (v1 as set[addr])
|
||||
error in <...>/vector-set-conversions-errors.zeek, line 15: cast not supported (s2 as vector of addr)
|
||||
error in <...>/vector-set-conversions-errors.zeek, line 22: cast not supported (s3 as vector of port)
|
|
@ -0,0 +1 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
|
@ -0,0 +1 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
25
testing/btest/Baseline/language.vector-set-conversions/out
Normal file
25
testing/btest/Baseline/language.vector-set-conversions/out
Normal file
|
@ -0,0 +1,25 @@
|
|||
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
|
||||
vector to set
|
||||
[1, 1, 1, 2, 2, 3, 3, 4]
|
||||
{
|
||||
4,
|
||||
2,
|
||||
3,
|
||||
1
|
||||
}
|
||||
|
||||
set to vector (count)
|
||||
{
|
||||
4,
|
||||
2,
|
||||
3,
|
||||
1
|
||||
}
|
||||
[4, 2, 3, 1]
|
||||
|
||||
set to vector (port)
|
||||
{
|
||||
23/tcp,
|
||||
21/tcp
|
||||
}
|
||||
[23/tcp, 21/tcp]
|
24
testing/btest/language/vector-set-conversions-errors.zeek
Normal file
24
testing/btest/language/vector-set-conversions-errors.zeek
Normal file
|
@ -0,0 +1,24 @@
|
|||
# @TEST-DOC: Test error cases while converting between sets and vectorswith the 'as' keyword
|
||||
# @TEST-EXEC-FAIL: zeek -b %INPUT > out
|
||||
# @TEST-EXEC: btest-diff out
|
||||
# @TEST-EXEC: TEST_DIFF_CANONIFIER="$SCRIPTS/diff-remove-abspath" btest-diff .stderr
|
||||
|
||||
print("vector to set: type mismatch");
|
||||
local v1 = vector(1, 1, 1, 2, 2, 3, 3, 4);
|
||||
local s1 = v1 as set[addr];
|
||||
print(v1);
|
||||
print(s1);
|
||||
|
||||
print("");
|
||||
print("set to vector: type mismatch");
|
||||
local s2 = set(1, 2, 3, 4);
|
||||
local v2 = s2 as vector of addr;
|
||||
print(s2);
|
||||
print(v2);
|
||||
|
||||
print("");
|
||||
print("set to vector: multiple indices");
|
||||
local s3: set[port,string] = { [21/tcp, "ftp"], [23/tcp, "telnet"] };
|
||||
local v3 = s3 as vector of port;
|
||||
print(s3);
|
||||
print(v3);
|
24
testing/btest/language/vector-set-conversions.zeek
Normal file
24
testing/btest/language/vector-set-conversions.zeek
Normal file
|
@ -0,0 +1,24 @@
|
|||
# @TEST-DOC: Tests converting between sets and vectors with the 'as' keyword
|
||||
# @TEST-EXEC: zeek -b %INPUT > out
|
||||
# @TEST-EXEC: btest-diff out
|
||||
# @TEST-EXEC: btest-diff .stderr
|
||||
|
||||
print("vector to set");
|
||||
local v1 = vector(1, 1, 1, 2, 2, 3, 3, 4);
|
||||
local s1 = v1 as set[count];
|
||||
print(v1);
|
||||
print(s1);
|
||||
|
||||
print("");
|
||||
print("set to vector (count)");
|
||||
local s2 = set(1, 2, 3, 4);
|
||||
local v2 = s2 as vector of count;
|
||||
print(s2);
|
||||
print(v2);
|
||||
|
||||
print("");
|
||||
print("set to vector (port)");
|
||||
local s3 = set(21/tcp, 23/tcp);
|
||||
local v3 = s3 as vector of port;
|
||||
print(s3);
|
||||
print(v3);
|
Loading…
Add table
Add a link
Reference in a new issue