diff --git a/CHANGES b/CHANGES index a9ab2b497b..7e74e007b5 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,7 @@ +8.0.0-dev.140 | 2025-05-19 11:04:29 -0700 + + * Change from_json to return an error rather than print it. (Steve Smoot, Corelight) + 8.0.0-dev.136 | 2025-05-19 20:01:30 +0200 * btest/core: Add event-trace test (Arne Welzel, Corelight) diff --git a/VERSION b/VERSION index 42d5b5679d..d23b083288 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.0.0-dev.136 +8.0.0-dev.140 diff --git a/scripts/base/init-bare.zeek b/scripts/base/init-bare.zeek index 02d5ab599d..e80262b125 100644 --- a/scripts/base/init-bare.zeek +++ b/scripts/base/init-bare.zeek @@ -1491,6 +1491,7 @@ function from_json_default_key_mapper(s: string): string type from_json_result: record { v: any &optional; ##< Parsed value. valid: bool; ##< True if parsing was successful. + err: string &optional; ## Error string if unsuccessful. }; # TCP values for :zeek:see:`endpoint` *state* field. diff --git a/src/zeek.bif b/src/zeek.bif index 8702a0a7fa..f21d9fa065 100644 --- a/src/zeek.bif +++ b/src/zeek.bif @@ -5240,7 +5240,7 @@ function to_json%(val: any, only_loggable: bool &default=F, field_escape_pattern ## when keys are not valid field identifiers, or represent reserved ## keywords like **port** or **type**. ## -## returns: A value of type t. +## returns: A record with the result of the conversion, containing either a value or an error message. ## ## .. zeek:see:: to_json function from_json%(s: string, t: any, key_func: string_mapper &default=from_json_default_key_mapper%): from_json_result @@ -5276,7 +5276,7 @@ function from_json%(s: string, t: any, key_func: string_mapper &default=from_jso else { rval->Assign(valid_idx, false); - zeek::emit_builtin_error(res.error().c_str()); + rval->Assign(result_type->FieldOffset("err"), res.error().c_str()); } return std::move(rval); diff --git a/testing/btest/Baseline.zam/bifs.from_json-10/.stdout b/testing/btest/Baseline.zam/bifs.from_json-10/.stdout index c7202a240c..86d70c20c4 100644 --- a/testing/btest/Baseline.zam/bifs.from_json-10/.stdout +++ b/testing/btest/Baseline.zam/bifs.from_json-10/.stdout @@ -2,5 +2,5 @@ [v={ fe80::/64, 192.168.0.0/16 -}, valid=T] -[v=[1, 3, 4], valid=T] +}, valid=T, err=] +[v=[1, 3, 4], valid=T, err=] diff --git a/testing/btest/Baseline.zam/bifs.from_json-11/.stderr b/testing/btest/Baseline.zam/bifs.from_json-11/.stderr index a94a645929..49d861c74c 100644 --- a/testing/btest/Baseline.zam/bifs.from_json-11/.stderr +++ b/testing/btest/Baseline.zam/bifs.from_json-11/.stderr @@ -1,3 +1 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -error in <...>/from_json.zeek, line 8: required field Foo$hello is missing in JSON (from_json({"t":null}, ::#0, from_json_default_key_mapper)) -error in <...>/from_json.zeek, line 9: required field Foo$hello is null in JSON (from_json({"hello": null, "t": true}, ::#2, from_json_default_key_mapper)) diff --git a/testing/btest/Baseline.zam/bifs.from_json-11/.stdout b/testing/btest/Baseline.zam/bifs.from_json-11/.stdout index d288024480..3c683728b9 100644 --- a/testing/btest/Baseline.zam/bifs.from_json-11/.stdout +++ b/testing/btest/Baseline.zam/bifs.from_json-11/.stdout @@ -1,3 +1,3 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -[v=, valid=F] -[v=, valid=F] +[v=, valid=F, err=required field Foo$hello is missing in JSON] +[v=, valid=F, err=required field Foo$hello is null in JSON] diff --git a/testing/btest/Baseline.zam/bifs.from_json-12/.stdout b/testing/btest/Baseline.zam/bifs.from_json-12/.stdout index 7673a47ea5..0652f5c2cb 100644 --- a/testing/btest/Baseline.zam/bifs.from_json-12/.stdout +++ b/testing/btest/Baseline.zam/bifs.from_json-12/.stdout @@ -1,2 +1,2 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -[v=[hello=Hello!], valid=T] +[v=[hello=Hello!], valid=T, err=] diff --git a/testing/btest/Baseline.zam/bifs.from_json-13/.stderr b/testing/btest/Baseline.zam/bifs.from_json-13/.stderr index ec05b0d535..49d861c74c 100644 --- a/testing/btest/Baseline.zam/bifs.from_json-13/.stderr +++ b/testing/btest/Baseline.zam/bifs.from_json-13/.stderr @@ -1,2 +1 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -error in <...>/from_json.zeek, line 7: required field Foo$id_field is missing in JSON (from_json({"id-field": "Hello!"}, ::#0, from_json_default_key_mapper)) diff --git a/testing/btest/Baseline.zam/bifs.from_json-13/.stdout b/testing/btest/Baseline.zam/bifs.from_json-13/.stdout index b75189ee1e..6fe9df1b87 100644 --- a/testing/btest/Baseline.zam/bifs.from_json-13/.stdout +++ b/testing/btest/Baseline.zam/bifs.from_json-13/.stdout @@ -1,3 +1,3 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -[v=, valid=F] -[v=[id_field=Hello!], valid=T] +[v=, valid=F, err=required field Foo$id_field is missing in JSON] +[v=[id_field=Hello!], valid=T, err=] diff --git a/testing/btest/Baseline.zam/bifs.from_json-2/.stdout b/testing/btest/Baseline.zam/bifs.from_json-2/.stdout index aee95c8a8e..5748f09000 100644 --- a/testing/btest/Baseline.zam/bifs.from_json-2/.stdout +++ b/testing/btest/Baseline.zam/bifs.from_json-2/.stdout @@ -1,2 +1,2 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -[v=, valid=F] +[v=, valid=F, err=] diff --git a/testing/btest/Baseline.zam/bifs.from_json-3/.stderr b/testing/btest/Baseline.zam/bifs.from_json-3/.stderr index 233c4318e1..49d861c74c 100644 --- a/testing/btest/Baseline.zam/bifs.from_json-3/.stderr +++ b/testing/btest/Baseline.zam/bifs.from_json-3/.stderr @@ -1,2 +1 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -error in <...>/from_json.zeek, line 4: JSON parse error: Missing a closing quotation mark in string. Offset: 5 (from_json({"hel, ::#0, from_json_default_key_mapper)) diff --git a/testing/btest/Baseline.zam/bifs.from_json-3/.stdout b/testing/btest/Baseline.zam/bifs.from_json-3/.stdout index aee95c8a8e..4c74a75e27 100644 --- a/testing/btest/Baseline.zam/bifs.from_json-3/.stdout +++ b/testing/btest/Baseline.zam/bifs.from_json-3/.stdout @@ -1,2 +1,2 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -[v=, valid=F] +[v=, valid=F, err=JSON parse error: Missing a closing quotation mark in string. Offset: 5] diff --git a/testing/btest/Baseline.zam/bifs.from_json-4/.stderr b/testing/btest/Baseline.zam/bifs.from_json-4/.stderr index 42e6dad6f0..49d861c74c 100644 --- a/testing/btest/Baseline.zam/bifs.from_json-4/.stderr +++ b/testing/btest/Baseline.zam/bifs.from_json-4/.stderr @@ -1,3 +1 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -error in <...>/from_json.zeek, line 9: cannot convert JSON type 'array' to Zeek type 'bool' (from_json([], ::#0, from_json_default_key_mapper)) -error in <...>/from_json.zeek, line 10: cannot convert JSON type 'string' to Zeek type 'bool' (from_json({"a": "hello"}, ::#2, from_json_default_key_mapper)) diff --git a/testing/btest/Baseline.zam/bifs.from_json-4/.stdout b/testing/btest/Baseline.zam/bifs.from_json-4/.stdout index d288024480..fc1ece90e4 100644 --- a/testing/btest/Baseline.zam/bifs.from_json-4/.stdout +++ b/testing/btest/Baseline.zam/bifs.from_json-4/.stdout @@ -1,3 +1,3 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -[v=, valid=F] -[v=, valid=F] +[v=, valid=F, err=cannot convert JSON type 'array' to Zeek type 'bool'] +[v=, valid=F, err=cannot convert JSON type 'string' to Zeek type 'bool'] diff --git a/testing/btest/Baseline.zam/bifs.from_json-5/.stderr b/testing/btest/Baseline.zam/bifs.from_json-5/.stderr index d7ed338df6..49d861c74c 100644 --- a/testing/btest/Baseline.zam/bifs.from_json-5/.stderr +++ b/testing/btest/Baseline.zam/bifs.from_json-5/.stderr @@ -1,2 +1 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -error in <...>/from_json.zeek, line 4: cannot convert JSON type 'array' to Zeek type 'table' (from_json([], ::#0, from_json_default_key_mapper)) diff --git a/testing/btest/Baseline.zam/bifs.from_json-5/.stdout b/testing/btest/Baseline.zam/bifs.from_json-5/.stdout index aee95c8a8e..9f17c6908a 100644 --- a/testing/btest/Baseline.zam/bifs.from_json-5/.stdout +++ b/testing/btest/Baseline.zam/bifs.from_json-5/.stdout @@ -1,2 +1,2 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -[v=, valid=F] +[v=, valid=F, err=cannot convert JSON type 'array' to Zeek type 'table'] diff --git a/testing/btest/Baseline.zam/bifs.from_json-6/.stderr b/testing/btest/Baseline.zam/bifs.from_json-6/.stderr index b1ddbdd07a..49d861c74c 100644 --- a/testing/btest/Baseline.zam/bifs.from_json-6/.stderr +++ b/testing/btest/Baseline.zam/bifs.from_json-6/.stderr @@ -1,3 +1 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -error in <...>/from_json.zeek, line 8: wrong port format, string must be <...>/(tcp|udp|icmp|unknown)/ (from_json("80", ::#2, from_json_default_key_mapper)) -error in <...>/from_json.zeek, line 9: wrong port format, object must have 'port' and 'proto' members (from_json({}, ::#4, from_json_default_key_mapper)) diff --git a/testing/btest/Baseline.zam/bifs.from_json-6/.stdout b/testing/btest/Baseline.zam/bifs.from_json-6/.stdout index a4da3aa3e4..67881cd4d2 100644 --- a/testing/btest/Baseline.zam/bifs.from_json-6/.stdout +++ b/testing/btest/Baseline.zam/bifs.from_json-6/.stdout @@ -1,4 +1,4 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -[v=80/tcp, valid=T] -[v=, valid=F] -[v=, valid=F] +[v=80/tcp, valid=T, err=] +[v=, valid=F, err=wrong port format, string must be /[0-9]{1,5}\/(tcp|udp|icmp|unknown)/] +[v=, valid=F, err=wrong port format, object must have 'port' and 'proto' members] diff --git a/testing/btest/Baseline.zam/bifs.from_json-7/.stderr b/testing/btest/Baseline.zam/bifs.from_json-7/.stderr index 315336902b..49d861c74c 100644 --- a/testing/btest/Baseline.zam/bifs.from_json-7/.stderr +++ b/testing/btest/Baseline.zam/bifs.from_json-7/.stderr @@ -1,3 +1 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -error in <...>/from_json.zeek, line 5: index type doesn't match (from_json([[1, false], [2]], ::#0, from_json_default_key_mapper)) -error in <...>/from_json.zeek, line 6: cannot convert JSON type 'number' to Zeek type 'bool' (from_json([[1, false], [2, 1]], ::#2, from_json_default_key_mapper)) diff --git a/testing/btest/Baseline.zam/bifs.from_json-7/.stdout b/testing/btest/Baseline.zam/bifs.from_json-7/.stdout index d288024480..6ea7385db5 100644 --- a/testing/btest/Baseline.zam/bifs.from_json-7/.stdout +++ b/testing/btest/Baseline.zam/bifs.from_json-7/.stdout @@ -1,3 +1,3 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -[v=, valid=F] -[v=, valid=F] +[v=, valid=F, err=index type doesn't match] +[v=, valid=F, err=cannot convert JSON type 'number' to Zeek type 'bool'] diff --git a/testing/btest/Baseline.zam/bifs.from_json-8/.stderr b/testing/btest/Baseline.zam/bifs.from_json-8/.stderr index 6c89085ca4..e0f6cb3d5d 100644 --- a/testing/btest/Baseline.zam/bifs.from_json-8/.stderr +++ b/testing/btest/Baseline.zam/bifs.from_json-8/.stderr @@ -1,3 +1,2 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. error: error compiling pattern /^?(.|\n)*(([[:print:]]{-}[[:alnum:]]foo))/ -error in <...>/from_json.zeek, line 5: error compiling pattern (from_json("/([[:print:]]{-}[[:alnum:]]foo)/", ::#0, from_json_default_key_mapper)) diff --git a/testing/btest/Baseline.zam/bifs.from_json-8/.stdout b/testing/btest/Baseline.zam/bifs.from_json-8/.stdout index aee95c8a8e..0bd6d65b29 100644 --- a/testing/btest/Baseline.zam/bifs.from_json-8/.stdout +++ b/testing/btest/Baseline.zam/bifs.from_json-8/.stdout @@ -1,2 +1,2 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -[v=, valid=F] +[v=, valid=F, err=error compiling pattern] diff --git a/testing/btest/Baseline.zam/bifs.from_json-9/.stderr b/testing/btest/Baseline.zam/bifs.from_json-9/.stderr index 7ff4fdd21e..49d861c74c 100644 --- a/testing/btest/Baseline.zam/bifs.from_json-9/.stderr +++ b/testing/btest/Baseline.zam/bifs.from_json-9/.stderr @@ -1,2 +1 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -error in <...>/from_json.zeek, line 7: 'Yellow' is not a valid enum for 'Color'. (from_json("Yellow", ::#0, from_json_default_key_mapper)) diff --git a/testing/btest/Baseline.zam/bifs.from_json-9/.stdout b/testing/btest/Baseline.zam/bifs.from_json-9/.stdout index aee95c8a8e..6dd6561c32 100644 --- a/testing/btest/Baseline.zam/bifs.from_json-9/.stdout +++ b/testing/btest/Baseline.zam/bifs.from_json-9/.stdout @@ -1,2 +1,2 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -[v=, valid=F] +[v=, valid=F, err='Yellow' is not a valid enum for 'Color'.] diff --git a/testing/btest/Baseline.zam/bifs.from_json/.stdout b/testing/btest/Baseline.zam/bifs.from_json/.stdout index 584cb2ca60..c2a28513ec 100644 --- a/testing/btest/Baseline.zam/bifs.from_json/.stdout +++ b/testing/btest/Baseline.zam/bifs.from_json/.stdout @@ -7,4 +7,4 @@ aa:bb::/32, [2001:db8::1, 8080/udp] }, tbl={ [192.168.0.1, 80/tcp] = foo -}], valid=T] +}], valid=T, err=] diff --git a/testing/btest/Baseline/bifs.from_json-10/.stdout b/testing/btest/Baseline/bifs.from_json-10/.stdout index c7202a240c..86d70c20c4 100644 --- a/testing/btest/Baseline/bifs.from_json-10/.stdout +++ b/testing/btest/Baseline/bifs.from_json-10/.stdout @@ -2,5 +2,5 @@ [v={ fe80::/64, 192.168.0.0/16 -}, valid=T] -[v=[1, 3, 4], valid=T] +}, valid=T, err=] +[v=[1, 3, 4], valid=T, err=] diff --git a/testing/btest/Baseline/bifs.from_json-11/.stderr b/testing/btest/Baseline/bifs.from_json-11/.stderr index f55d851395..49d861c74c 100644 --- a/testing/btest/Baseline/bifs.from_json-11/.stderr +++ b/testing/btest/Baseline/bifs.from_json-11/.stderr @@ -1,3 +1 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -error in <...>/from_json.zeek, line 8: required field Foo$hello is missing in JSON (from_json({"t":null}, to_any_coerce Foo, from_json_default_key_mapper)) -error in <...>/from_json.zeek, line 9: required field Foo$hello is null in JSON (from_json({"hello": null, "t": true}, to_any_coerce Foo, from_json_default_key_mapper)) diff --git a/testing/btest/Baseline/bifs.from_json-11/.stdout b/testing/btest/Baseline/bifs.from_json-11/.stdout index d288024480..3c683728b9 100644 --- a/testing/btest/Baseline/bifs.from_json-11/.stdout +++ b/testing/btest/Baseline/bifs.from_json-11/.stdout @@ -1,3 +1,3 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -[v=, valid=F] -[v=, valid=F] +[v=, valid=F, err=required field Foo$hello is missing in JSON] +[v=, valid=F, err=required field Foo$hello is null in JSON] diff --git a/testing/btest/Baseline/bifs.from_json-12/.stdout b/testing/btest/Baseline/bifs.from_json-12/.stdout index 7673a47ea5..0652f5c2cb 100644 --- a/testing/btest/Baseline/bifs.from_json-12/.stdout +++ b/testing/btest/Baseline/bifs.from_json-12/.stdout @@ -1,2 +1,2 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -[v=[hello=Hello!], valid=T] +[v=[hello=Hello!], valid=T, err=] diff --git a/testing/btest/Baseline/bifs.from_json-13/.stderr b/testing/btest/Baseline/bifs.from_json-13/.stderr index bcd3488ad0..49d861c74c 100644 --- a/testing/btest/Baseline/bifs.from_json-13/.stderr +++ b/testing/btest/Baseline/bifs.from_json-13/.stderr @@ -1,2 +1 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -error in <...>/from_json.zeek, line 7: required field Foo$id_field is missing in JSON (from_json({"id-field": "Hello!"}, to_any_coerce Foo, from_json_default_key_mapper)) diff --git a/testing/btest/Baseline/bifs.from_json-13/.stdout b/testing/btest/Baseline/bifs.from_json-13/.stdout index b75189ee1e..6fe9df1b87 100644 --- a/testing/btest/Baseline/bifs.from_json-13/.stdout +++ b/testing/btest/Baseline/bifs.from_json-13/.stdout @@ -1,3 +1,3 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -[v=, valid=F] -[v=[id_field=Hello!], valid=T] +[v=, valid=F, err=required field Foo$id_field is missing in JSON] +[v=[id_field=Hello!], valid=T, err=] diff --git a/testing/btest/Baseline/bifs.from_json-2/.stdout b/testing/btest/Baseline/bifs.from_json-2/.stdout index aee95c8a8e..5748f09000 100644 --- a/testing/btest/Baseline/bifs.from_json-2/.stdout +++ b/testing/btest/Baseline/bifs.from_json-2/.stdout @@ -1,2 +1,2 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -[v=, valid=F] +[v=, valid=F, err=] diff --git a/testing/btest/Baseline/bifs.from_json-3/.stderr b/testing/btest/Baseline/bifs.from_json-3/.stderr index 57ad3dca82..49d861c74c 100644 --- a/testing/btest/Baseline/bifs.from_json-3/.stderr +++ b/testing/btest/Baseline/bifs.from_json-3/.stderr @@ -1,2 +1 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -error in <...>/from_json.zeek, line 4: JSON parse error: Missing a closing quotation mark in string. Offset: 5 (from_json({"hel, to_any_coerce string_vec, from_json_default_key_mapper)) diff --git a/testing/btest/Baseline/bifs.from_json-3/.stdout b/testing/btest/Baseline/bifs.from_json-3/.stdout index aee95c8a8e..4c74a75e27 100644 --- a/testing/btest/Baseline/bifs.from_json-3/.stdout +++ b/testing/btest/Baseline/bifs.from_json-3/.stdout @@ -1,2 +1,2 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -[v=, valid=F] +[v=, valid=F, err=JSON parse error: Missing a closing quotation mark in string. Offset: 5] diff --git a/testing/btest/Baseline/bifs.from_json-4/.stderr b/testing/btest/Baseline/bifs.from_json-4/.stderr index d2fdc4565c..49d861c74c 100644 --- a/testing/btest/Baseline/bifs.from_json-4/.stderr +++ b/testing/btest/Baseline/bifs.from_json-4/.stderr @@ -1,3 +1 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -error in <...>/from_json.zeek, line 9: cannot convert JSON type 'array' to Zeek type 'bool' (from_json([], to_any_coerce bool_t, from_json_default_key_mapper)) -error in <...>/from_json.zeek, line 10: cannot convert JSON type 'string' to Zeek type 'bool' (from_json({"a": "hello"}, to_any_coerce Foo, from_json_default_key_mapper)) diff --git a/testing/btest/Baseline/bifs.from_json-4/.stdout b/testing/btest/Baseline/bifs.from_json-4/.stdout index d288024480..fc1ece90e4 100644 --- a/testing/btest/Baseline/bifs.from_json-4/.stdout +++ b/testing/btest/Baseline/bifs.from_json-4/.stdout @@ -1,3 +1,3 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -[v=, valid=F] -[v=, valid=F] +[v=, valid=F, err=cannot convert JSON type 'array' to Zeek type 'bool'] +[v=, valid=F, err=cannot convert JSON type 'string' to Zeek type 'bool'] diff --git a/testing/btest/Baseline/bifs.from_json-5/.stderr b/testing/btest/Baseline/bifs.from_json-5/.stderr index 6bdd60e118..49d861c74c 100644 --- a/testing/btest/Baseline/bifs.from_json-5/.stderr +++ b/testing/btest/Baseline/bifs.from_json-5/.stderr @@ -1,2 +1 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -error in <...>/from_json.zeek, line 4: cannot convert JSON type 'array' to Zeek type 'table' (from_json([], to_any_coerce table_string_of_string, from_json_default_key_mapper)) diff --git a/testing/btest/Baseline/bifs.from_json-5/.stdout b/testing/btest/Baseline/bifs.from_json-5/.stdout index aee95c8a8e..9f17c6908a 100644 --- a/testing/btest/Baseline/bifs.from_json-5/.stdout +++ b/testing/btest/Baseline/bifs.from_json-5/.stdout @@ -1,2 +1,2 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -[v=, valid=F] +[v=, valid=F, err=cannot convert JSON type 'array' to Zeek type 'table'] diff --git a/testing/btest/Baseline/bifs.from_json-6/.stderr b/testing/btest/Baseline/bifs.from_json-6/.stderr index 0b278db5ae..49d861c74c 100644 --- a/testing/btest/Baseline/bifs.from_json-6/.stderr +++ b/testing/btest/Baseline/bifs.from_json-6/.stderr @@ -1,3 +1 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -error in <...>/from_json.zeek, line 8: wrong port format, string must be <...>/(tcp|udp|icmp|unknown)/ (from_json("80", to_any_coerce port_t, from_json_default_key_mapper)) -error in <...>/from_json.zeek, line 9: wrong port format, object must have 'port' and 'proto' members (from_json({}, to_any_coerce port_t, from_json_default_key_mapper)) diff --git a/testing/btest/Baseline/bifs.from_json-6/.stdout b/testing/btest/Baseline/bifs.from_json-6/.stdout index a4da3aa3e4..67881cd4d2 100644 --- a/testing/btest/Baseline/bifs.from_json-6/.stdout +++ b/testing/btest/Baseline/bifs.from_json-6/.stdout @@ -1,4 +1,4 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -[v=80/tcp, valid=T] -[v=, valid=F] -[v=, valid=F] +[v=80/tcp, valid=T, err=] +[v=, valid=F, err=wrong port format, string must be /[0-9]{1,5}\/(tcp|udp|icmp|unknown)/] +[v=, valid=F, err=wrong port format, object must have 'port' and 'proto' members] diff --git a/testing/btest/Baseline/bifs.from_json-7/.stderr b/testing/btest/Baseline/bifs.from_json-7/.stderr index d4c3adfdaf..49d861c74c 100644 --- a/testing/btest/Baseline/bifs.from_json-7/.stderr +++ b/testing/btest/Baseline/bifs.from_json-7/.stderr @@ -1,3 +1 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -error in <...>/from_json.zeek, line 5: index type doesn't match (from_json([[1, false], [2]], to_any_coerce set_t, from_json_default_key_mapper)) -error in <...>/from_json.zeek, line 6: cannot convert JSON type 'number' to Zeek type 'bool' (from_json([[1, false], [2, 1]], to_any_coerce set_t, from_json_default_key_mapper)) diff --git a/testing/btest/Baseline/bifs.from_json-7/.stdout b/testing/btest/Baseline/bifs.from_json-7/.stdout index d288024480..6ea7385db5 100644 --- a/testing/btest/Baseline/bifs.from_json-7/.stdout +++ b/testing/btest/Baseline/bifs.from_json-7/.stdout @@ -1,3 +1,3 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -[v=, valid=F] -[v=, valid=F] +[v=, valid=F, err=index type doesn't match] +[v=, valid=F, err=cannot convert JSON type 'number' to Zeek type 'bool'] diff --git a/testing/btest/Baseline/bifs.from_json-8/.stderr b/testing/btest/Baseline/bifs.from_json-8/.stderr index d7d70be9e8..e0f6cb3d5d 100644 --- a/testing/btest/Baseline/bifs.from_json-8/.stderr +++ b/testing/btest/Baseline/bifs.from_json-8/.stderr @@ -1,3 +1,2 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. error: error compiling pattern /^?(.|\n)*(([[:print:]]{-}[[:alnum:]]foo))/ -error in <...>/from_json.zeek, line 5: error compiling pattern (from_json("/([[:print:]]{-}[[:alnum:]]foo)/", to_any_coerce pattern_t, from_json_default_key_mapper)) diff --git a/testing/btest/Baseline/bifs.from_json-8/.stdout b/testing/btest/Baseline/bifs.from_json-8/.stdout index aee95c8a8e..0bd6d65b29 100644 --- a/testing/btest/Baseline/bifs.from_json-8/.stdout +++ b/testing/btest/Baseline/bifs.from_json-8/.stdout @@ -1,2 +1,2 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -[v=, valid=F] +[v=, valid=F, err=error compiling pattern] diff --git a/testing/btest/Baseline/bifs.from_json-9/.stderr b/testing/btest/Baseline/bifs.from_json-9/.stderr index 92f3d9ea84..49d861c74c 100644 --- a/testing/btest/Baseline/bifs.from_json-9/.stderr +++ b/testing/btest/Baseline/bifs.from_json-9/.stderr @@ -1,2 +1 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -error in <...>/from_json.zeek, line 7: 'Yellow' is not a valid enum for 'Color'. (from_json("Yellow", to_any_coerce Color, from_json_default_key_mapper)) diff --git a/testing/btest/Baseline/bifs.from_json-9/.stdout b/testing/btest/Baseline/bifs.from_json-9/.stdout index aee95c8a8e..6dd6561c32 100644 --- a/testing/btest/Baseline/bifs.from_json-9/.stdout +++ b/testing/btest/Baseline/bifs.from_json-9/.stdout @@ -1,2 +1,2 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -[v=, valid=F] +[v=, valid=F, err='Yellow' is not a valid enum for 'Color'.] diff --git a/testing/btest/Baseline/bifs.from_json/.stdout b/testing/btest/Baseline/bifs.from_json/.stdout index 584cb2ca60..c2a28513ec 100644 --- a/testing/btest/Baseline/bifs.from_json/.stdout +++ b/testing/btest/Baseline/bifs.from_json/.stdout @@ -7,4 +7,4 @@ aa:bb::/32, [2001:db8::1, 8080/udp] }, tbl={ [192.168.0.1, 80/tcp] = foo -}], valid=T] +}], valid=T, err=] diff --git a/testing/btest/Baseline/language.type-expr/.stdout b/testing/btest/Baseline/language.type-expr/.stdout index 9202868d09..d8c7e4150b 100644 --- a/testing/btest/Baseline/language.type-expr/.stdout +++ b/testing/btest/Baseline/language.type-expr/.stdout @@ -1,5 +1,5 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -[v=aoeu, valid=T] +[v=aoeu, valid=T, err=] type double vector of int