diff --git a/testing/btest/Baseline/bifs.footprint/out b/testing/btest/Baseline/bifs.footprint/out index 3d0f6d4b9b..922ae4ff7a 100644 --- a/testing/btest/Baseline/bifs.footprint/out +++ b/testing/btest/Baseline/bifs.footprint/out @@ -47,3 +47,7 @@ s3, 8 s3, 20 s4, 3 s4, 9 +1 +3 +1 +3 diff --git a/testing/btest/bifs/footprint.zeek b/testing/btest/bifs/footprint.zeek index 6f9666a2a8..2f719db380 100644 --- a/testing/btest/bifs/footprint.zeek +++ b/testing/btest/bifs/footprint.zeek @@ -15,6 +15,18 @@ type r2: record { d: string &optional; }; +# For testing mutually recursive records. +type X: record { +}; + +type Y: record { + x: X; +}; + +redef record X += { + y: Y &optional; +}; + event zeek_init() { print "bool", value_footprint(T, F); @@ -100,4 +112,15 @@ event zeek_init() local s4 = set(vector(l1b), vector(l1b), vector(l1b)); print "s4", value_footprint(s4, F); print "s4", value_footprint(s4, T); + + local x: X; + local y: Y; + + x$y = y; + y$x = x; + + print value_footprint(x, F); + print value_footprint(x, T); + print value_footprint(y, F); + print value_footprint(y, T); }