From cbb18207dcd9f629c1d09f14231e1f5353a7c305 Mon Sep 17 00:00:00 2001 From: Vern Paxson Date: Thu, 28 Apr 2022 18:23:02 -0700 Subject: [PATCH] when printing a description of a type, use its name if available --- src/Type.cc | 26 ++++++++++++------- src/Type.h | 17 ++++++------ testing/btest/Baseline/bifs.type_name/out | 2 +- .../Baseline/language.copy-all-types/out | 4 +-- .../language.record-function-recursion/out | 2 +- .../Baseline/language.table-type-checking/out | 2 +- .../language.type-cast-error-dynamic/err | 2 +- .../language.vector-of-enum-mismatch/out | 2 +- .../Baseline/language.vector-of-enum/out | 2 +- testing/btest/Baseline/plugins.hooks/output | 12 ++++----- .../.stderr | 16 ++++++------ 11 files changed, 48 insertions(+), 39 deletions(-) diff --git a/src/Type.cc b/src/Type.cc index 808fff7bff..70128b94f9 100644 --- a/src/Type.cc +++ b/src/Type.cc @@ -238,6 +238,14 @@ const TypePtr& Type::Yield() const } void Type::Describe(ODesc* d) const + { + if ( ! d->IsBinary() && ! name.empty() ) + d->Add(name); + else + DoDescribe(d); + } + +void Type::DoDescribe(ODesc* d) const { if ( d->IsBinary() ) d->Add(int(Tag())); @@ -290,7 +298,7 @@ void TypeList::AppendEvenIfNotPure(TypePtr t) types.emplace_back(std::move(t)); } -void TypeList::Describe(ODesc* d) const +void TypeList::DoDescribe(ODesc* d) const { if ( d->IsReadable() ) d->AddSP("list of"); @@ -346,9 +354,9 @@ int IndexType::MatchesIndex(detail::ListExpr* const index) const : DOES_NOT_MATCH_INDEX; } -void IndexType::Describe(ODesc* d) const +void IndexType::DoDescribe(ODesc* d) const { - Type::Describe(d); + Type::DoDescribe(d); if ( ! d->IsBinary() ) d->Add("["); @@ -763,7 +771,7 @@ void FuncType::SetCaptures(std::optional _captures) captures = std::move(_captures); } -void FuncType::Describe(ODesc* d) const +void FuncType::DoDescribe(ODesc* d) const { if ( d->IsReadable() ) { @@ -1084,7 +1092,7 @@ TypeDecl* RecordType::FieldDecl(int field) return (*types)[field]; } -void RecordType::Describe(ODesc* d) const +void RecordType::DoDescribe(ODesc* d) const { d->PushType(this); @@ -1454,7 +1462,7 @@ FileType::FileType(TypePtr yield_type) : Type(TYPE_FILE), yield(std::move(yield_ FileType::~FileType() = default; -void FileType::Describe(ODesc* d) const +void FileType::DoDescribe(ODesc* d) const { if ( d->IsReadable() ) { @@ -1473,7 +1481,7 @@ OpaqueType::OpaqueType(const string& arg_name) : Type(TYPE_OPAQUE) name = arg_name; } -void OpaqueType::Describe(ODesc* d) const +void OpaqueType::DoDescribe(ODesc* d) const { if ( d->IsReadable() ) d->AddSP("opaque of"); @@ -1660,7 +1668,7 @@ const EnumValPtr& EnumType::GetEnumVal(bro_int_t i) return it->second; } -void EnumType::Describe(ODesc* d) const +void EnumType::DoDescribe(ODesc* d) const { auto t = Tag(); @@ -1804,7 +1812,7 @@ bool VectorType::IsUnspecifiedVector() const return yield_type->Tag() == TYPE_VOID; } -void VectorType::Describe(ODesc* d) const +void VectorType::DoDescribe(ODesc* d) const { if ( d->IsReadable() ) d->AddSP("vector of"); diff --git a/src/Type.h b/src/Type.h index dd4dd80b91..82462b53ee 100644 --- a/src/Type.h +++ b/src/Type.h @@ -249,6 +249,7 @@ public: } void Describe(ODesc* d) const override; + virtual void DoDescribe(ODesc* d) const; virtual void DescribeReST(ODesc* d, bool roles_only = false) const; [[deprecated("Remove in v5.1. MemoryAllocation() is deprecated and will be removed. See " @@ -347,7 +348,7 @@ public: void Append(TypePtr t); void AppendEvenIfNotPure(TypePtr t); - void Describe(ODesc* d) const override; + void DoDescribe(ODesc* d) const override; [[deprecated("Remove in v5.1. MemoryAllocation() is deprecated and will be removed. See " "GHI-572.")]] unsigned int @@ -369,7 +370,7 @@ public: const TypePtr& Yield() const override { return yield_type; } - void Describe(ODesc* d) const override; + void DoDescribe(ODesc* d) const override; void DescribeReST(ODesc* d, bool roles_only = false) const override; // Returns true if this table is solely indexed by subnet. @@ -474,7 +475,7 @@ public: const TypeListPtr& ParamList() const { return arg_types; } - void Describe(ODesc* d) const override; + void DoDescribe(ODesc* d) const override; void DescribeReST(ODesc* d, bool roles_only = false) const override; /** @@ -675,7 +676,7 @@ public: */ void Create(std::vector>& r) const; - void Describe(ODesc* d) const override; + void DoDescribe(ODesc* d) const override; void DescribeReST(ODesc* d, bool roles_only = false) const override; void DescribeFields(ODesc* d) const; void DescribeFieldsReST(ODesc* d, bool func_args) const; @@ -725,7 +726,7 @@ public: const TypePtr& Yield() const override { return yield; } - void Describe(ODesc* d) const override; + void DoDescribe(ODesc* d) const override; protected: TypePtr yield; @@ -740,7 +741,7 @@ public: const std::string& Name() const { return name; } - void Describe(ODesc* d) const override; + void DoDescribe(ODesc* d) const override; void DescribeReST(ODesc* d, bool roles_only = false) const override; protected: @@ -783,7 +784,7 @@ public: bool HasRedefs() const { return has_redefs; } - void Describe(ODesc* d) const override; + void DoDescribe(ODesc* d) const override; void DescribeReST(ODesc* d, bool roles_only = false) const override; const EnumValPtr& GetEnumVal(bro_int_t i); @@ -834,7 +835,7 @@ public: // gets using an empty "vector()" constructor. bool IsUnspecifiedVector() const; - void Describe(ODesc* d) const override; + void DoDescribe(ODesc* d) const override; void DescribeReST(ODesc* d, bool roles_only = false) const override; protected: diff --git a/testing/btest/Baseline/bifs.type_name/out b/testing/btest/Baseline/bifs.type_name/out index 8b4e1ce81e..c9643aef4d 100644 --- a/testing/btest/Baseline/bifs.type_name/out +++ b/testing/btest/Baseline/bifs.type_name/out @@ -7,7 +7,7 @@ bool time interval pattern -enum color +color port addr addr diff --git a/testing/btest/Baseline/language.copy-all-types/out b/testing/btest/Baseline/language.copy-all-types/out index 3a5e6dbb8d..b502b8ecf8 100644 --- a/testing/btest/Baseline/language.copy-all-types/out +++ b/testing/btest/Baseline/language.copy-all-types/out @@ -9,5 +9,5 @@ orig=/^?(.*PATTERN.*)$?/ (pattern) clone=/^?(.*PATTERN.*)$?/ (pattern) same_obje orig=2,5,3,4,1 (set[count]) clone=2,5,3,4,1 (set[count]) equal=T same_object=F (ok) orig=[1, 2, 3, 4, 5] (vector of count) clone=[1, 2, 3, 4, 5] (vector of count) equal=T same_object=F (ok) orig=a=va;b=vb (table[string] of string) clone=a=va;b=vb (table[string] of string) equal=T same_object=F (ok) -orig=ENUMME (enum MyEnum) clone=ENUMME (enum MyEnum) equal=T same_object=T (ok) -orig=[s1=s1, s2=s2, i1=[a=a], i2=[a=a], donotset=, def=5] (record { s1:string; s2:string; i1:record { a:string; }; i2:record { a:string; } &optional; donotset:record { a:string; } &optional; def:count &default=5, &optional; }) clone=[s1=s1, s2=s2, i1=[a=a], i2=[a=a], donotset=, def=5] (record { s1:string; s2:string; i1:record { a:string; }; i2:record { a:string; } &optional; donotset:record { a:string; } &optional; def:count &default=5, &optional; }) equal=T same_object=F (ok) +orig=ENUMME (MyEnum) clone=ENUMME (MyEnum) equal=T same_object=T (ok) +orig=[s1=s1, s2=s2, i1=[a=a], i2=[a=a], donotset=, def=5] (TestRecord) clone=[s1=s1, s2=s2, i1=[a=a], i2=[a=a], donotset=, def=5] (TestRecord) equal=T same_object=F (ok) diff --git a/testing/btest/Baseline/language.record-function-recursion/out b/testing/btest/Baseline/language.record-function-recursion/out index 9f32322cd6..f2af5dadc0 100644 --- a/testing/btest/Baseline/language.record-function-recursion/out +++ b/testing/btest/Baseline/language.record-function-recursion/out @@ -1,3 +1,3 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. [id=, inner=] -record { id:count &optional; inner:record { create:function(input:;) : string; } &optional; } +Outer diff --git a/testing/btest/Baseline/language.table-type-checking/out b/testing/btest/Baseline/language.table-type-checking/out index 0e97e6c56e..0421c6d9f1 100644 --- a/testing/btest/Baseline/language.table-type-checking/out +++ b/testing/btest/Baseline/language.table-type-checking/out @@ -14,4 +14,4 @@ error in port and <...>/table-type-checking.zeek, line 42: type clash (port and error in <...>/table-type-checking.zeek, line 42: inconsistent types in table constructor (table(thousand-two = 1002)) error in <...>/table-type-checking.zeek, line 48: type clash in assignment (lea = table(thousand-three = 1003)) error in count and <...>/table-type-checking.zeek, line 54: arithmetic mixed with non-arithmetic (count and foo) -error in <...>/table-type-checking.zeek, line 4 and <...>/table-type-checking.zeek, line 54: &default value has inconsistent type (table[port] of count and table()) +error in <...>/table-type-checking.zeek, line 4 and <...>/table-type-checking.zeek, line 54: &default value has inconsistent type (MyTable and table()) diff --git a/testing/btest/Baseline/language.type-cast-error-dynamic/err b/testing/btest/Baseline/language.type-cast-error-dynamic/err index bc7a985010..d88531921d 100644 --- a/testing/btest/Baseline/language.type-cast-error-dynamic/err +++ b/testing/btest/Baseline/language.type-cast-error-dynamic/err @@ -1,4 +1,4 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. expression error in <...>/type-cast-error-dynamic.zeek, line 12: invalid cast of value with type 'count' to type 'string' (a as string) expression error in <...>/type-cast-error-dynamic.zeek, line 12: invalid cast of value with type 'record { a:addr; b:port; }' to type 'string' (a as string) -expression error in <...>/type-cast-error-dynamic.zeek, line 12: invalid cast of value with type 'record { data:opaque of Broker::Data &optional; }' to type 'string' (nil $data field) (a as string) +expression error in <...>/type-cast-error-dynamic.zeek, line 12: invalid cast of value with type 'Broker::Data' to type 'string' (nil $data field) (a as string) diff --git a/testing/btest/Baseline/language.vector-of-enum-mismatch/out b/testing/btest/Baseline/language.vector-of-enum-mismatch/out index ae879d5708..34e2bf9080 100644 --- a/testing/btest/Baseline/language.vector-of-enum-mismatch/out +++ b/testing/btest/Baseline/language.vector-of-enum-mismatch/out @@ -1,3 +1,3 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -error in <...>/vector-of-enum-mismatch.zeek, line 7 and <...>/vector-of-enum-mismatch.zeek, line 8: incompatible enum types: 'color' and 'number' (enum and enum) +error in <...>/vector-of-enum-mismatch.zeek, line 7 and <...>/vector-of-enum-mismatch.zeek, line 8: incompatible enum types: 'color' and 'number' (color and number) error in <...>/vector-of-enum-mismatch.zeek, line 9: inconsistent types in list diff --git a/testing/btest/Baseline/language.vector-of-enum/out b/testing/btest/Baseline/language.vector-of-enum/out index 283fcabc84..01cfa146f5 100644 --- a/testing/btest/Baseline/language.vector-of-enum/out +++ b/testing/btest/Baseline/language.vector-of-enum/out @@ -1,2 +1,2 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -vector of enum color, [Red, Green, Blue] +vector of color, [Red, Green, Blue] diff --git a/testing/btest/Baseline/plugins.hooks/output b/testing/btest/Baseline/plugins.hooks/output index 576ba4fb24..bc783d0971 100644 --- a/testing/btest/Baseline/plugins.hooks/output +++ b/testing/btest/Baseline/plugins.hooks/output @@ -661,14 +661,14 @@ 0.000000 MetaHookPost CallFunction(SumStats::add_observe_plugin_dependency, , (SumStats::VARIANCE, SumStats::AVERAGE)) -> 0.000000 MetaHookPost CallFunction(SumStats::register_observe_plugin, , (SumStats::AVERAGE, lambda_<3452231521688988155>{ if (!SumStats::rv?$average) SumStats::rv$average = SumStats::valelseSumStats::rv$average += (SumStats::val - SumStats::rv$average) / (coerce SumStats::rv$num to double)})) -> 0.000000 MetaHookPost CallFunction(SumStats::register_observe_plugin, , (SumStats::HLL_UNIQUE, lambda_<11844992922323210106>{ if (!SumStats::rv?$card) { SumStats::rv$card = hll_cardinality_init(SumStats::r$hll_error_margin, SumStats::r$hll_confidence)SumStats::rv$hll_error_margin = SumStats::r$hll_error_marginSumStats::rv$hll_confidence = SumStats::r$hll_confidence}hll_cardinality_add(SumStats::rv$card, to_any_coerceSumStats::obs)SumStats::rv$hll_unique = double_to_count(hll_cardinality_estimate(SumStats::rv$card))})) -> -0.000000 MetaHookPost CallFunction(SumStats::register_observe_plugin, , (SumStats::LAST, lambda_<10583710888117654101>{ if (0 < SumStats::r$num_last_elements) { if (!SumStats::rv?$last_elements) SumStats::rv$last_elements = Queue::init((coerce [$max_len=SumStats::r$num_last_elements] to Queue::Settings))Queue::put(SumStats::rv$last_elements, to_any_coerceSumStats::obs)}})) -> +0.000000 MetaHookPost CallFunction(SumStats::register_observe_plugin, , (SumStats::LAST, lambda_<7814612727898186946>{ if (0 < SumStats::r$num_last_elements) { if (!SumStats::rv?$last_elements) SumStats::rv$last_elements = Queue::init((coerce [$max_len=SumStats::r$num_last_elements] to Queue::Settings))Queue::put(SumStats::rv$last_elements, to_any_coerceSumStats::obs)}})) -> 0.000000 MetaHookPost CallFunction(SumStats::register_observe_plugin, , (SumStats::MAX, lambda_<9734000075919044397>{ if (!SumStats::rv?$max) SumStats::rv$max = SumStats::valelseif (SumStats::rv$max < SumStats::val) SumStats::rv$max = SumStats::val})) -> 0.000000 MetaHookPost CallFunction(SumStats::register_observe_plugin, , (SumStats::MIN, lambda_<2451066605226214733>{ if (!SumStats::rv?$min) SumStats::rv$min = SumStats::valelseif (SumStats::val < SumStats::rv$min) SumStats::rv$min = SumStats::val})) -> 0.000000 MetaHookPost CallFunction(SumStats::register_observe_plugin, , (SumStats::SAMPLE, lambda_<11888441397542569241>{ SumStats::sample_add_sample(SumStats::obs, SumStats::rv)})) -> 0.000000 MetaHookPost CallFunction(SumStats::register_observe_plugin, , (SumStats::STD_DEV, lambda_<5704045257244168718>{ SumStats::calc_std_dev(SumStats::rv)})) -> 0.000000 MetaHookPost CallFunction(SumStats::register_observe_plugin, , (SumStats::SUM, lambda_<6958532551242393774>{ SumStats::rv$sum += SumStats::val})) -> 0.000000 MetaHookPost CallFunction(SumStats::register_observe_plugin, , (SumStats::TOPK, lambda_<6366101205573988923>{ topk_add(SumStats::rv$topk, to_any_coerceSumStats::obs)})) -> -0.000000 MetaHookPost CallFunction(SumStats::register_observe_plugin, , (SumStats::UNIQUE, lambda_<5561482868084494682>{ if (!SumStats::rv?$unique_vals) SumStats::rv$unique_vals = (coerce (coerce set() to set[SumStats::Observation]) to set[SumStats::Observation])if (SumStats::r?$unique_max) SumStats::rv$unique_max = SumStats::r$unique_maxif (!SumStats::r?$unique_max || sizeofSumStats::rv$unique_vals <= SumStats::r$unique_max) add SumStats::rv$unique_vals[SumStats::obs]SumStats::rv$unique = sizeofSumStats::rv$unique_vals})) -> +0.000000 MetaHookPost CallFunction(SumStats::register_observe_plugin, , (SumStats::UNIQUE, lambda_<6609886180724383051>{ if (!SumStats::rv?$unique_vals) SumStats::rv$unique_vals = (coerce (coerce set() to set[SumStats::Observation]) to set[SumStats::Observation])if (SumStats::r?$unique_max) SumStats::rv$unique_max = SumStats::r$unique_maxif (!SumStats::r?$unique_max || sizeofSumStats::rv$unique_vals <= SumStats::r$unique_max) add SumStats::rv$unique_vals[SumStats::obs]SumStats::rv$unique = sizeofSumStats::rv$unique_vals})) -> 0.000000 MetaHookPost CallFunction(SumStats::register_observe_plugin, , (SumStats::VARIANCE, lambda_<6557258612059469785>{ if (1 < SumStats::rv$num) SumStats::rv$var_s += ((SumStats::val - SumStats::rv$prev_avg) * (SumStats::val - SumStats::rv$average))SumStats::calc_variance(SumStats::rv)SumStats::rv$prev_avg = SumStats::rv$average})) -> 0.000000 MetaHookPost CallFunction(SumStats::register_observe_plugins, , ()) -> 0.000000 MetaHookPost CallFunction(Supervisor::__is_supervisor, , ()) -> @@ -2118,14 +2118,14 @@ 0.000000 MetaHookPre CallFunction(SumStats::add_observe_plugin_dependency, , (SumStats::VARIANCE, SumStats::AVERAGE)) 0.000000 MetaHookPre CallFunction(SumStats::register_observe_plugin, , (SumStats::AVERAGE, lambda_<3452231521688988155>{ if (!SumStats::rv?$average) SumStats::rv$average = SumStats::valelseSumStats::rv$average += (SumStats::val - SumStats::rv$average) / (coerce SumStats::rv$num to double)})) 0.000000 MetaHookPre CallFunction(SumStats::register_observe_plugin, , (SumStats::HLL_UNIQUE, lambda_<11844992922323210106>{ if (!SumStats::rv?$card) { SumStats::rv$card = hll_cardinality_init(SumStats::r$hll_error_margin, SumStats::r$hll_confidence)SumStats::rv$hll_error_margin = SumStats::r$hll_error_marginSumStats::rv$hll_confidence = SumStats::r$hll_confidence}hll_cardinality_add(SumStats::rv$card, to_any_coerceSumStats::obs)SumStats::rv$hll_unique = double_to_count(hll_cardinality_estimate(SumStats::rv$card))})) -0.000000 MetaHookPre CallFunction(SumStats::register_observe_plugin, , (SumStats::LAST, lambda_<10583710888117654101>{ if (0 < SumStats::r$num_last_elements) { if (!SumStats::rv?$last_elements) SumStats::rv$last_elements = Queue::init((coerce [$max_len=SumStats::r$num_last_elements] to Queue::Settings))Queue::put(SumStats::rv$last_elements, to_any_coerceSumStats::obs)}})) +0.000000 MetaHookPre CallFunction(SumStats::register_observe_plugin, , (SumStats::LAST, lambda_<7814612727898186946>{ if (0 < SumStats::r$num_last_elements) { if (!SumStats::rv?$last_elements) SumStats::rv$last_elements = Queue::init((coerce [$max_len=SumStats::r$num_last_elements] to Queue::Settings))Queue::put(SumStats::rv$last_elements, to_any_coerceSumStats::obs)}})) 0.000000 MetaHookPre CallFunction(SumStats::register_observe_plugin, , (SumStats::MAX, lambda_<9734000075919044397>{ if (!SumStats::rv?$max) SumStats::rv$max = SumStats::valelseif (SumStats::rv$max < SumStats::val) SumStats::rv$max = SumStats::val})) 0.000000 MetaHookPre CallFunction(SumStats::register_observe_plugin, , (SumStats::MIN, lambda_<2451066605226214733>{ if (!SumStats::rv?$min) SumStats::rv$min = SumStats::valelseif (SumStats::val < SumStats::rv$min) SumStats::rv$min = SumStats::val})) 0.000000 MetaHookPre CallFunction(SumStats::register_observe_plugin, , (SumStats::SAMPLE, lambda_<11888441397542569241>{ SumStats::sample_add_sample(SumStats::obs, SumStats::rv)})) 0.000000 MetaHookPre CallFunction(SumStats::register_observe_plugin, , (SumStats::STD_DEV, lambda_<5704045257244168718>{ SumStats::calc_std_dev(SumStats::rv)})) 0.000000 MetaHookPre CallFunction(SumStats::register_observe_plugin, , (SumStats::SUM, lambda_<6958532551242393774>{ SumStats::rv$sum += SumStats::val})) 0.000000 MetaHookPre CallFunction(SumStats::register_observe_plugin, , (SumStats::TOPK, lambda_<6366101205573988923>{ topk_add(SumStats::rv$topk, to_any_coerceSumStats::obs)})) -0.000000 MetaHookPre CallFunction(SumStats::register_observe_plugin, , (SumStats::UNIQUE, lambda_<5561482868084494682>{ if (!SumStats::rv?$unique_vals) SumStats::rv$unique_vals = (coerce (coerce set() to set[SumStats::Observation]) to set[SumStats::Observation])if (SumStats::r?$unique_max) SumStats::rv$unique_max = SumStats::r$unique_maxif (!SumStats::r?$unique_max || sizeofSumStats::rv$unique_vals <= SumStats::r$unique_max) add SumStats::rv$unique_vals[SumStats::obs]SumStats::rv$unique = sizeofSumStats::rv$unique_vals})) +0.000000 MetaHookPre CallFunction(SumStats::register_observe_plugin, , (SumStats::UNIQUE, lambda_<6609886180724383051>{ if (!SumStats::rv?$unique_vals) SumStats::rv$unique_vals = (coerce (coerce set() to set[SumStats::Observation]) to set[SumStats::Observation])if (SumStats::r?$unique_max) SumStats::rv$unique_max = SumStats::r$unique_maxif (!SumStats::r?$unique_max || sizeofSumStats::rv$unique_vals <= SumStats::r$unique_max) add SumStats::rv$unique_vals[SumStats::obs]SumStats::rv$unique = sizeofSumStats::rv$unique_vals})) 0.000000 MetaHookPre CallFunction(SumStats::register_observe_plugin, , (SumStats::VARIANCE, lambda_<6557258612059469785>{ if (1 < SumStats::rv$num) SumStats::rv$var_s += ((SumStats::val - SumStats::rv$prev_avg) * (SumStats::val - SumStats::rv$average))SumStats::calc_variance(SumStats::rv)SumStats::rv$prev_avg = SumStats::rv$average})) 0.000000 MetaHookPre CallFunction(SumStats::register_observe_plugins, , ()) 0.000000 MetaHookPre CallFunction(Supervisor::__is_supervisor, , ()) @@ -3574,14 +3574,14 @@ 0.000000 | HookCallFunction SumStats::add_observe_plugin_dependency(SumStats::VARIANCE, SumStats::AVERAGE) 0.000000 | HookCallFunction SumStats::register_observe_plugin(SumStats::AVERAGE, lambda_<3452231521688988155>{ if (!SumStats::rv?$average) SumStats::rv$average = SumStats::valelseSumStats::rv$average += (SumStats::val - SumStats::rv$average) / (coerce SumStats::rv$num to double)}) 0.000000 | HookCallFunction SumStats::register_observe_plugin(SumStats::HLL_UNIQUE, lambda_<11844992922323210106>{ if (!SumStats::rv?$card) { SumStats::rv$card = hll_cardinality_init(SumStats::r$hll_error_margin, SumStats::r$hll_confidence)SumStats::rv$hll_error_margin = SumStats::r$hll_error_marginSumStats::rv$hll_confidence = SumStats::r$hll_confidence}hll_cardinality_add(SumStats::rv$card, to_any_coerceSumStats::obs)SumStats::rv$hll_unique = double_to_count(hll_cardinality_estimate(SumStats::rv$card))}) -0.000000 | HookCallFunction SumStats::register_observe_plugin(SumStats::LAST, lambda_<10583710888117654101>{ if (0 < SumStats::r$num_last_elements) { if (!SumStats::rv?$last_elements) SumStats::rv$last_elements = Queue::init((coerce [$max_len=SumStats::r$num_last_elements] to Queue::Settings))Queue::put(SumStats::rv$last_elements, to_any_coerceSumStats::obs)}}) +0.000000 | HookCallFunction SumStats::register_observe_plugin(SumStats::LAST, lambda_<7814612727898186946>{ if (0 < SumStats::r$num_last_elements) { if (!SumStats::rv?$last_elements) SumStats::rv$last_elements = Queue::init((coerce [$max_len=SumStats::r$num_last_elements] to Queue::Settings))Queue::put(SumStats::rv$last_elements, to_any_coerceSumStats::obs)}}) 0.000000 | HookCallFunction SumStats::register_observe_plugin(SumStats::MAX, lambda_<9734000075919044397>{ if (!SumStats::rv?$max) SumStats::rv$max = SumStats::valelseif (SumStats::rv$max < SumStats::val) SumStats::rv$max = SumStats::val}) 0.000000 | HookCallFunction SumStats::register_observe_plugin(SumStats::MIN, lambda_<2451066605226214733>{ if (!SumStats::rv?$min) SumStats::rv$min = SumStats::valelseif (SumStats::val < SumStats::rv$min) SumStats::rv$min = SumStats::val}) 0.000000 | HookCallFunction SumStats::register_observe_plugin(SumStats::SAMPLE, lambda_<11888441397542569241>{ SumStats::sample_add_sample(SumStats::obs, SumStats::rv)}) 0.000000 | HookCallFunction SumStats::register_observe_plugin(SumStats::STD_DEV, lambda_<5704045257244168718>{ SumStats::calc_std_dev(SumStats::rv)}) 0.000000 | HookCallFunction SumStats::register_observe_plugin(SumStats::SUM, lambda_<6958532551242393774>{ SumStats::rv$sum += SumStats::val}) 0.000000 | HookCallFunction SumStats::register_observe_plugin(SumStats::TOPK, lambda_<6366101205573988923>{ topk_add(SumStats::rv$topk, to_any_coerceSumStats::obs)}) -0.000000 | HookCallFunction SumStats::register_observe_plugin(SumStats::UNIQUE, lambda_<5561482868084494682>{ if (!SumStats::rv?$unique_vals) SumStats::rv$unique_vals = (coerce (coerce set() to set[SumStats::Observation]) to set[SumStats::Observation])if (SumStats::r?$unique_max) SumStats::rv$unique_max = SumStats::r$unique_maxif (!SumStats::r?$unique_max || sizeofSumStats::rv$unique_vals <= SumStats::r$unique_max) add SumStats::rv$unique_vals[SumStats::obs]SumStats::rv$unique = sizeofSumStats::rv$unique_vals}) +0.000000 | HookCallFunction SumStats::register_observe_plugin(SumStats::UNIQUE, lambda_<6609886180724383051>{ if (!SumStats::rv?$unique_vals) SumStats::rv$unique_vals = (coerce (coerce set() to set[SumStats::Observation]) to set[SumStats::Observation])if (SumStats::r?$unique_max) SumStats::rv$unique_max = SumStats::r$unique_maxif (!SumStats::r?$unique_max || sizeofSumStats::rv$unique_vals <= SumStats::r$unique_max) add SumStats::rv$unique_vals[SumStats::obs]SumStats::rv$unique = sizeofSumStats::rv$unique_vals}) 0.000000 | HookCallFunction SumStats::register_observe_plugin(SumStats::VARIANCE, lambda_<6557258612059469785>{ if (1 < SumStats::rv$num) SumStats::rv$var_s += ((SumStats::val - SumStats::rv$prev_avg) * (SumStats::val - SumStats::rv$average))SumStats::calc_variance(SumStats::rv)SumStats::rv$prev_avg = SumStats::rv$average}) 0.000000 | HookCallFunction SumStats::register_observe_plugins() 0.000000 | HookCallFunction Supervisor::__is_supervisor() diff --git a/testing/btest/Baseline/scripts.base.frameworks.input.errors/.stderr b/testing/btest/Baseline/scripts.base.frameworks.input.errors/.stderr index 902551f30a..1e885aad13 100644 --- a/testing/btest/Baseline/scripts.base.frameworks.input.errors/.stderr +++ b/testing/btest/Baseline/scripts.base.frameworks.input.errors/.stderr @@ -9,29 +9,29 @@ error: Input stream filetable: Problem unrolling The input framework does not support optional record fields: "r" error: Input stream optionalrecordtable: Problem unrolling Encountered incompatible type "file" in type definition for field "s" in ReaderFrontend. Ignoring optional field. -error: Input stream optionalfiletable: Table type does not match value type. Need type 'record { i:int; s:file of string &optional; }', got 'record { i:int; r:record { i:int; s:file of string; } &optional; }' +error: Input stream optionalfiletable: Table type does not match value type. Need type 'Test::OptionalFileVal', got 'Test::OptionalRecordVal' error: Input stream optionalfiletable2: Table type does not match index type. Need type 'count':count, got 'string':string error: Input stream optionalfiletable3: Stream event is a function, not an event error: Input stream optionalfiletable3: Table event must take 4 arguments error: Input stream optionalfiletable4: Table event's first attribute must be of type Input::TableDescription error: Input stream optionalfiletable5: Table event's second attribute must be of type Input::Event -error: Input stream optionalfiletable6: Table event's index attributes do not match. Need 'record { c:count; }', got 'record { i:int; r:record { i:int; s:file of string; } &optional; }' -error: Input stream optionalfiletable7: Table event's value attributes do not match. Need 'record { i:int; s:file of string &optional; }', got 'record { i:int; r:record { i:int; s:file of string; } &optional; }' +error: Input stream optionalfiletable6: Table event's index attributes do not match. Need 'Test::Idx', got 'Test::OptionalRecordVal' +error: Input stream optionalfiletable7: Table event's value attributes do not match. Need 'Test::OptionalFileVal', got 'Test::OptionalRecordVal' error: Input stream optionalfiletable8: Stream does not want a record (want_record=F), but has more then one value field. error: Input stream optionalfiletable9: Table has less elements than index definition error: Input stream optionalfiletable10: Table type has more indexes than index definition error: Input stream optionalfiletable11: Table type does not match value type. Need type 'count', got 'int' -error: Input stream optionalfiletable12: Table type does not match value type. Need type 'count', got 'record { i:int; s:string; a:addr; }' -error: Input stream optionalfiletable14: Table type does not match value type. Need type 'int', got 'record { i:int; s:file of string &optional; }' -error: Input stream optionalfiletable15: Table type does not match value type. Need type 'record { c:count; }', got 'record { i:int; s:string; a:addr; }' +error: Input stream optionalfiletable12: Table type does not match value type. Need type 'count', got 'Test::Val' +error: Input stream optionalfiletable14: Table type does not match value type. Need type 'int', got 'Test::OptionalFileVal' +error: Input stream optionalfiletable15: Table type does not match value type. Need type 'Test::Idx', got 'Test::Val' error: Input stream event1: Stream event is a function, not an event error: Input stream event2: Event does not take enough arguments error: Input stream event3: Event's first attribute must be of type Input::EventDescription error: Input stream event4: Event's second attribute must be of type Input::Event -error: Input stream event5: Incompatible type 'record':record { i:int; r:record { i:int; s:file of string; } &optional; } for event, which needs type 'record':record { i:int; s:file of string &optional; } +error: Input stream event5: Incompatible type 'record':Test::OptionalRecordVal for event, which needs type 'record':Test::OptionalFileVal error: Input stream event6: Event has wrong number of arguments -error: Input stream event7: Incompatible type for event in field 3. Need type 'int':int, got 'record':record { i:int; r:record { i:int; s:file of string; } &optional; } +error: Input stream event7: Incompatible type for event in field 3. Need type 'int':int, got 'record':Test::OptionalRecordVal error: Input stream event8: Incompatible type for event in field 5. Need type 'addr':addr, got 'string':string error: Input stream event9: Event has wrong number of arguments error: Input stream error1: Error event's first attribute must be of type Input::EventDescription