Branch Coverage

t/svapi/sv.cc
Criterion Covered Total %
branch 1634 4246 38.4


line true false branch
9 1 0 T* r = o;
1 0 T* r = o;
1 0 T* r = o;
1 0 T* r = o;
1 0 T* r = o;
10 1 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
0 0 REQUIRE(r == (T*)good);
0 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
0 0 REQUIRE(r == (T*)good);
0 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
0 0 REQUIRE(r == (T*)good);
0 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
0 0 REQUIRE(r == (T*)good);
0 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
0 0 REQUIRE(r == (T*)good);
0 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
1 0 REQUIRE(r == (T*)good);
0 0 REQUIRE(r == (T*)good);
0 0 REQUIRE(r == (T*)good);
11 1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
0 0 REQUIRE(SvREFCNT(good) == rcnt+1);
0 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
0 0 REQUIRE(SvREFCNT(good) == rcnt+1);
0 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
0 0 REQUIRE(SvREFCNT(good) == rcnt+1);
0 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
0 0 REQUIRE(SvREFCNT(good) == rcnt+1);
0 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
0 0 REQUIRE(SvREFCNT(good) == rcnt+1);
0 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
0 0 REQUIRE(SvREFCNT(good) == rcnt+1);
0 0 REQUIRE(SvREFCNT(good) == rcnt+1);
13 0 1 if (!bad) return;
0 1 if (!bad) return;
0 1 if (!bad) return;
0 1 if (!bad) return;
0 1 if (!bad) return;
1 0 if (!bad) return;
15 1 0 o = bad;
1 0 o = bad;
1 0 o = bad;
1 0 o = bad;
1 0 o = bad;
0 0 o = bad;
16 1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
17 1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
18 1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
0 0 REQUIRE((T*)o == nullptr);
0 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
0 0 REQUIRE((T*)o == nullptr);
0 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
0 0 REQUIRE((T*)o == nullptr);
0 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
0 0 REQUIRE((T*)o == nullptr);
0 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
1 0 REQUIRE((T*)o == nullptr);
0 0 REQUIRE((T*)o == nullptr);
0 0 REQUIRE((T*)o == nullptr);
0 0 REQUIRE((T*)o == nullptr);
0 0 REQUIRE((T*)o == nullptr);
0 0 REQUIRE((T*)o == nullptr);
0 0 REQUIRE((T*)o == nullptr);
0 0 REQUIRE((T*)o == nullptr);
0 1 REQUIRE((T*)o == nullptr);
0 0 REQUIRE((T*)o == nullptr);
0 0 REQUIRE((T*)o == nullptr);
25 1 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
0 0 REQUIRE(o.get() == (T*)good);
0 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
0 0 REQUIRE(o.get() == (T*)good);
0 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
0 0 REQUIRE(o.get() == (T*)good);
0 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
0 0 REQUIRE(o.get() == (T*)good);
0 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
0 0 REQUIRE(o.get() == (T*)good);
0 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
1 0 REQUIRE(o.get() == (T*)good);
0 0 REQUIRE(o.get() == (T*)good);
0 0 REQUIRE(o.get() == (T*)good);
26 1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
0 0 REQUIRE(SvREFCNT(good) == rcnt+1);
0 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
0 0 REQUIRE(SvREFCNT(good) == rcnt+1);
0 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
0 0 REQUIRE(SvREFCNT(good) == rcnt+1);
0 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
0 0 REQUIRE(SvREFCNT(good) == rcnt+1);
0 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
0 0 REQUIRE(SvREFCNT(good) == rcnt+1);
0 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
1 0 REQUIRE(SvREFCNT(good) == rcnt+1);
0 0 REQUIRE(SvREFCNT(good) == rcnt+1);
0 0 REQUIRE(SvREFCNT(good) == rcnt+1);
28 0 1 if (!bad) return;
0 1 if (!bad) return;
0 1 if (!bad) return;
0 1 if (!bad) return;
0 1 if (!bad) return;
1 0 if (!bad) return;
30 1 0 o = bad;
1 0 o = bad;
1 0 o = bad;
1 0 o = bad;
1 0 o = bad;
0 0 o = bad;
31 1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
1 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
0 0 REQUIRE(SvREFCNT(good) == rcnt);
32 1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
1 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
0 0 REQUIRE(SvREFCNT(bad) == rcnt_bad+1);
33 1 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
0 0 REQUIRE(o.get() == (T*)bad);
0 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
0 0 REQUIRE(o.get() == (T*)bad);
0 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
0 0 REQUIRE(o.get() == (T*)bad);
0 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
0 0 REQUIRE(o.get() == (T*)bad);
0 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
1 0 REQUIRE(o.get() == (T*)bad);
0 0 REQUIRE(o.get() == (T*)bad);
0 0 REQUIRE(o.get() == (T*)bad);
0 0 REQUIRE(o.get() == (T*)bad);
0 0 REQUIRE(o.get() == (T*)bad);
0 0 REQUIRE(o.get() == (T*)bad);
0 0 REQUIRE(o.get() == (T*)bad);
0 0 REQUIRE(o.get() == (T*)bad);
0 1 REQUIRE(o.get() == (T*)bad);
0 0 REQUIRE(o.get() == (T*)bad);
0 0 REQUIRE(o.get() == (T*)bad);
37 63 0 perlvars vars;
40 63 0 SECTION("ctor") {
63 0 SECTION("ctor") {
63 0 SECTION("ctor") {
63 0 SECTION("ctor") {
16 47 SECTION("ctor") {
41 16 0 SECTION("empty") {
16 0 SECTION("empty") {
16 0 SECTION("empty") {
16 0 SECTION("empty") {
1 15 SECTION("empty") {
43 1 0 REQUIRE(!sv);
1 0 REQUIRE(!sv);
1 0 REQUIRE(!sv);
1 0 REQUIRE(!sv);
0 0 REQUIRE(!sv);
0 0 REQUIRE(!sv);
45 16 0 SECTION("undef") {
16 0 SECTION("undef") {
16 0 SECTION("undef") {
16 0 SECTION("undef") {
1 15 SECTION("undef") {
46 1 0 auto sv = Sv::create();
47 1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
0 0 REQUIRE(sv);
0 0 REQUIRE(sv);
48 1 0 REQUIRE(!SvOK(sv));
1 0 REQUIRE(!SvOK(sv));
1 0 REQUIRE(!SvOK(sv));
1 0 REQUIRE(!SvOK(sv));
1 0 REQUIRE(!SvOK(sv));
1 0 REQUIRE(!SvOK(sv));
1 0 REQUIRE(!SvOK(sv));
0 0 REQUIRE(!SvOK(sv));
0 0 REQUIRE(!SvOK(sv));
50 16 0 SECTION("SV") { Test::ctor(vars.iv, behaviour_t::VALID); }
16 0 SECTION("SV") { Test::ctor(vars.iv, behaviour_t::VALID); }
16 0 SECTION("SV") { Test::ctor(vars.iv, behaviour_t::VALID); }
16 0 SECTION("SV") { Test::ctor(vars.iv, behaviour_t::VALID); }
2 14 SECTION("SV") { Test::ctor(vars.iv, behaviour_t::VALID); }
2 0 SECTION("SV") { Test::ctor(vars.iv, behaviour_t::VALID); }
51 16 0 SECTION("AV") { Test::ctor(vars.av, behaviour_t::VALID); }
16 0 SECTION("AV") { Test::ctor(vars.av, behaviour_t::VALID); }
16 0 SECTION("AV") { Test::ctor(vars.av, behaviour_t::VALID); }
16 0 SECTION("AV") { Test::ctor(vars.av, behaviour_t::VALID); }
2 14 SECTION("AV") { Test::ctor(vars.av, behaviour_t::VALID); }
2 0 SECTION("AV") { Test::ctor(vars.av, behaviour_t::VALID); }
52 16 0 SECTION("HV") { Test::ctor(vars.hv, behaviour_t::VALID); }
16 0 SECTION("HV") { Test::ctor(vars.hv, behaviour_t::VALID); }
16 0 SECTION("HV") { Test::ctor(vars.hv, behaviour_t::VALID); }
16 0 SECTION("HV") { Test::ctor(vars.hv, behaviour_t::VALID); }
2 14 SECTION("HV") { Test::ctor(vars.hv, behaviour_t::VALID); }
2 0 SECTION("HV") { Test::ctor(vars.hv, behaviour_t::VALID); }
53 16 0 SECTION("CV") { Test::ctor(vars.cv, behaviour_t::VALID); }
16 0 SECTION("CV") { Test::ctor(vars.cv, behaviour_t::VALID); }
16 0 SECTION("CV") { Test::ctor(vars.cv, behaviour_t::VALID); }
16 0 SECTION("CV") { Test::ctor(vars.cv, behaviour_t::VALID); }
2 14 SECTION("CV") { Test::ctor(vars.cv, behaviour_t::VALID); }
2 0 SECTION("CV") { Test::ctor(vars.cv, behaviour_t::VALID); }
54 16 0 SECTION("GV") { Test::ctor(vars.gv, behaviour_t::VALID); }
16 0 SECTION("GV") { Test::ctor(vars.gv, behaviour_t::VALID); }
16 0 SECTION("GV") { Test::ctor(vars.gv, behaviour_t::VALID); }
16 0 SECTION("GV") { Test::ctor(vars.gv, behaviour_t::VALID); }
2 14 SECTION("GV") { Test::ctor(vars.gv, behaviour_t::VALID); }
2 0 SECTION("GV") { Test::ctor(vars.gv, behaviour_t::VALID); }
55 16 0 SECTION("IO") { Test::ctor(vars.io, behaviour_t::VALID); }
16 0 SECTION("IO") { Test::ctor(vars.io, behaviour_t::VALID); }
16 0 SECTION("IO") { Test::ctor(vars.io, behaviour_t::VALID); }
16 0 SECTION("IO") { Test::ctor(vars.io, behaviour_t::VALID); }
2 14 SECTION("IO") { Test::ctor(vars.io, behaviour_t::VALID); }
2 0 SECTION("IO") { Test::ctor(vars.io, behaviour_t::VALID); }
56 16 0 SECTION("Sv") { Test::ctor(my, behaviour_t::VALID); }
16 0 SECTION("Sv") { Test::ctor(my, behaviour_t::VALID); }
16 0 SECTION("Sv") { Test::ctor(my, behaviour_t::VALID); }
16 0 SECTION("Sv") { Test::ctor(my, behaviour_t::VALID); }
2 14 SECTION("Sv") { Test::ctor(my, behaviour_t::VALID); }
2 0 SECTION("Sv") { Test::ctor(my, behaviour_t::VALID); }
59 63 0 SECTION("operator=") {
63 0 SECTION("operator=") {
63 0 SECTION("operator=") {
63 0 SECTION("operator=") {
16 47 SECTION("operator=") {
60 16 0 auto o = Sv::create();
61 16 0 SECTION("SV") { Test::assign(o, vars.pv, behaviour_t::VALID); }
16 0 SECTION("SV") { Test::assign(o, vars.pv, behaviour_t::VALID); }
16 0 SECTION("SV") { Test::assign(o, vars.pv, behaviour_t::VALID); }
16 0 SECTION("SV") { Test::assign(o, vars.pv, behaviour_t::VALID); }
2 14 SECTION("SV") { Test::assign(o, vars.pv, behaviour_t::VALID); }
2 0 SECTION("SV") { Test::assign(o, vars.pv, behaviour_t::VALID); }
62 16 0 SECTION("AV") { Test::assign(o, vars.av, behaviour_t::VALID); }
16 0 SECTION("AV") { Test::assign(o, vars.av, behaviour_t::VALID); }
16 0 SECTION("AV") { Test::assign(o, vars.av, behaviour_t::VALID); }
16 0 SECTION("AV") { Test::assign(o, vars.av, behaviour_t::VALID); }
2 14 SECTION("AV") { Test::assign(o, vars.av, behaviour_t::VALID); }
2 0 SECTION("AV") { Test::assign(o, vars.av, behaviour_t::VALID); }
63 16 0 SECTION("HV") { Test::assign(o, vars.hv, behaviour_t::VALID); }
16 0 SECTION("HV") { Test::assign(o, vars.hv, behaviour_t::VALID); }
16 0 SECTION("HV") { Test::assign(o, vars.hv, behaviour_t::VALID); }
16 0 SECTION("HV") { Test::assign(o, vars.hv, behaviour_t::VALID); }
2 14 SECTION("HV") { Test::assign(o, vars.hv, behaviour_t::VALID); }
2 0 SECTION("HV") { Test::assign(o, vars.hv, behaviour_t::VALID); }
64 16 0 SECTION("CV") { Test::assign(o, vars.cv, behaviour_t::VALID); }
16 0 SECTION("CV") { Test::assign(o, vars.cv, behaviour_t::VALID); }
16 0 SECTION("CV") { Test::assign(o, vars.cv, behaviour_t::VALID); }
16 0 SECTION("CV") { Test::assign(o, vars.cv, behaviour_t::VALID); }
2 14 SECTION("CV") { Test::assign(o, vars.cv, behaviour_t::VALID); }
2 0 SECTION("CV") { Test::assign(o, vars.cv, behaviour_t::VALID); }
65 16 0 SECTION("GV") { Test::assign(o, vars.gv, behaviour_t::VALID); }
16 0 SECTION("GV") { Test::assign(o, vars.gv, behaviour_t::VALID); }
16 0 SECTION("GV") { Test::assign(o, vars.gv, behaviour_t::VALID); }
16 0 SECTION("GV") { Test::assign(o, vars.gv, behaviour_t::VALID); }
2 14 SECTION("GV") { Test::assign(o, vars.gv, behaviour_t::VALID); }
2 0 SECTION("GV") { Test::assign(o, vars.gv, behaviour_t::VALID); }
66 16 0 SECTION("IO") { Test::assign(o, vars.io, behaviour_t::VALID); }
16 0 SECTION("IO") { Test::assign(o, vars.io, behaviour_t::VALID); }
16 0 SECTION("IO") { Test::assign(o, vars.io, behaviour_t::VALID); }
16 0 SECTION("IO") { Test::assign(o, vars.io, behaviour_t::VALID); }
2 14 SECTION("IO") { Test::assign(o, vars.io, behaviour_t::VALID); }
2 0 SECTION("IO") { Test::assign(o, vars.io, behaviour_t::VALID); }
67 16 0 SECTION("Sv") { Test::assign(o, my, behaviour_t::VALID); }
16 0 SECTION("Sv") { Test::assign(o, my, behaviour_t::VALID); }
16 0 SECTION("Sv") { Test::assign(o, my, behaviour_t::VALID); }
16 0 SECTION("Sv") { Test::assign(o, my, behaviour_t::VALID); }
4 12 SECTION("Sv") { Test::assign(o, my, behaviour_t::VALID); }
4 0 SECTION("Sv") { Test::assign(o, my, behaviour_t::VALID); }
70 63 0 SECTION("reset") {
63 0 SECTION("reset") {
63 0 SECTION("reset") {
63 0 SECTION("reset") {
1 62 SECTION("reset") {
72 1 0 REQUIRE(!sv);
1 0 REQUIRE(!sv);
1 0 REQUIRE(!sv);
1 0 REQUIRE(!sv);
0 0 REQUIRE(!sv);
0 0 REQUIRE(!sv);
73 1 0 sv.reset();
74 1 0 REQUIRE(!sv);
1 0 REQUIRE(!sv);
1 0 REQUIRE(!sv);
1 0 REQUIRE(!sv);
0 0 REQUIRE(!sv);
0 0 REQUIRE(!sv);
77 1 0 sv = vars.iv;
78 1 0 REQUIRE(SvREFCNT(vars.iv) == cnt+1);
1 0 REQUIRE(SvREFCNT(vars.iv) == cnt+1);
1 0 REQUIRE(SvREFCNT(vars.iv) == cnt+1);
1 0 REQUIRE(SvREFCNT(vars.iv) == cnt+1);
1 0 REQUIRE(SvREFCNT(vars.iv) == cnt+1);
0 0 REQUIRE(SvREFCNT(vars.iv) == cnt+1);
0 0 REQUIRE(SvREFCNT(vars.iv) == cnt+1);
79 1 0 sv.reset();
80 1 0 REQUIRE(!sv);
1 0 REQUIRE(!sv);
1 0 REQUIRE(!sv);
1 0 REQUIRE(!sv);
0 0 REQUIRE(!sv);
0 0 REQUIRE(!sv);
81 1 0 REQUIRE(SvREFCNT(vars.iv) == cnt);
1 0 REQUIRE(SvREFCNT(vars.iv) == cnt);
1 0 REQUIRE(SvREFCNT(vars.iv) == cnt);
1 0 REQUIRE(SvREFCNT(vars.iv) == cnt);
1 0 REQUIRE(SvREFCNT(vars.iv) == cnt);
0 0 REQUIRE(SvREFCNT(vars.iv) == cnt);
0 0 REQUIRE(SvREFCNT(vars.iv) == cnt);
84 63 0 SECTION("cast") {
63 0 SECTION("cast") {
63 0 SECTION("cast") {
63 0 SECTION("cast") {
6 57 SECTION("cast") {
85 6 0 SECTION("to SV") { test_cast(vars.iv, NULL); }
6 0 SECTION("to SV") { test_cast(vars.iv, NULL); }
6 0 SECTION("to SV") { test_cast(vars.iv, NULL); }
6 0 SECTION("to SV") { test_cast(vars.iv, NULL); }
1 5 SECTION("to SV") { test_cast(vars.iv, NULL); }
1 0 SECTION("to SV") { test_cast(vars.iv, NULL); }
86 6 0 SECTION("to AV") { test_cast((SV*)vars.av, vars.iv); }
6 0 SECTION("to AV") { test_cast((SV*)vars.av, vars.iv); }
6 0 SECTION("to AV") { test_cast((SV*)vars.av, vars.iv); }
6 0 SECTION("to AV") { test_cast((SV*)vars.av, vars.iv); }
1 5 SECTION("to AV") { test_cast((SV*)vars.av, vars.iv); }
1 0 SECTION("to AV") { test_cast((SV*)vars.av, vars.iv); }
87 6 0 SECTION("to HV") { test_cast((SV*)vars.hv, vars.pv); }
6 0 SECTION("to HV") { test_cast((SV*)vars.hv, vars.pv); }
6 0 SECTION("to HV") { test_cast((SV*)vars.hv, vars.pv); }
6 0 SECTION("to HV") { test_cast((SV*)vars.hv, vars.pv); }
1 5 SECTION("to HV") { test_cast((SV*)vars.hv, vars.pv); }
1 0 SECTION("to HV") { test_cast((SV*)vars.hv, vars.pv); }
88 6 0 SECTION("to CV") { test_cast((SV*)vars.cv, vars.iv); }
6 0 SECTION("to CV") { test_cast((SV*)vars.cv, vars.iv); }
6 0 SECTION("to CV") { test_cast((SV*)vars.cv, vars.iv); }
6 0 SECTION("to CV") { test_cast((SV*)vars.cv, vars.iv); }
1 5 SECTION("to CV") { test_cast((SV*)vars.cv, vars.iv); }
1 0 SECTION("to CV") { test_cast((SV*)vars.cv, vars.iv); }
89 6 0 SECTION("to GV") { test_cast((SV*)vars.gv, vars.iv); }
6 0 SECTION("to GV") { test_cast((SV*)vars.gv, vars.iv); }
6 0 SECTION("to GV") { test_cast((SV*)vars.gv, vars.iv); }
6 0 SECTION("to GV") { test_cast((SV*)vars.gv, vars.iv); }
1 5 SECTION("to GV") { test_cast((SV*)vars.gv, vars.iv); }
1 0 SECTION("to GV") { test_cast((SV*)vars.gv, vars.iv); }
90 6 0 SECTION("to IO") { test_cast((SV*)vars.io, vars.iv); }
6 0 SECTION("to IO") { test_cast((SV*)vars.io, vars.iv); }
6 0 SECTION("to IO") { test_cast((SV*)vars.io, vars.iv); }
6 0 SECTION("to IO") { test_cast((SV*)vars.io, vars.iv); }
1 5 SECTION("to IO") { test_cast((SV*)vars.io, vars.iv); }
1 0 SECTION("to IO") { test_cast((SV*)vars.io, vars.iv); }
93 63 0 SECTION("get") {
63 0 SECTION("get") {
63 0 SECTION("get") {
63 0 SECTION("get") {
6 57 SECTION("get") {
94 6 0 SECTION("SV") { test_get(vars.iv, NULL); }
6 0 SECTION("SV") { test_get(vars.iv, NULL); }
6 0 SECTION("SV") { test_get(vars.iv, NULL); }
6 0 SECTION("SV") { test_get(vars.iv, NULL); }
1 5 SECTION("SV") { test_get(vars.iv, NULL); }
1 0 SECTION("SV") { test_get(vars.iv, NULL); }
95 6 0 SECTION("AV") { test_get((SV*)vars.av, vars.iv); }
6 0 SECTION("AV") { test_get((SV*)vars.av, vars.iv); }
6 0 SECTION("AV") { test_get((SV*)vars.av, vars.iv); }
6 0 SECTION("AV") { test_get((SV*)vars.av, vars.iv); }
1 5 SECTION("AV") { test_get((SV*)vars.av, vars.iv); }
1 0 SECTION("AV") { test_get((SV*)vars.av, vars.iv); }
96 6 0 SECTION("HV") { test_get((SV*)vars.hv, vars.pv); }
6 0 SECTION("HV") { test_get((SV*)vars.hv, vars.pv); }
6 0 SECTION("HV") { test_get((SV*)vars.hv, vars.pv); }
6 0 SECTION("HV") { test_get((SV*)vars.hv, vars.pv); }
1 5 SECTION("HV") { test_get((SV*)vars.hv, vars.pv); }
1 0 SECTION("HV") { test_get((SV*)vars.hv, vars.pv); }
97 6 0 SECTION("CV") { test_get((SV*)vars.cv, vars.iv); }
6 0 SECTION("CV") { test_get((SV*)vars.cv, vars.iv); }
6 0 SECTION("CV") { test_get((SV*)vars.cv, vars.iv); }
6 0 SECTION("CV") { test_get((SV*)vars.cv, vars.iv); }
1 5 SECTION("CV") { test_get((SV*)vars.cv, vars.iv); }
1 0 SECTION("CV") { test_get((SV*)vars.cv, vars.iv); }
98 6 0 SECTION("GV") { test_get((SV*)vars.gv, vars.iv); }
6 0 SECTION("GV") { test_get((SV*)vars.gv, vars.iv); }
6 0 SECTION("GV") { test_get((SV*)vars.gv, vars.iv); }
6 0 SECTION("GV") { test_get((SV*)vars.gv, vars.iv); }
1 5 SECTION("GV") { test_get((SV*)vars.gv, vars.iv); }
1 0 SECTION("GV") { test_get((SV*)vars.gv, vars.iv); }
99 6 0 SECTION("IO") { test_get((SV*)vars.io, vars.iv); }
6 0 SECTION("IO") { test_get((SV*)vars.io, vars.iv); }
6 0 SECTION("IO") { test_get((SV*)vars.io, vars.iv); }
6 0 SECTION("IO") { test_get((SV*)vars.io, vars.iv); }
1 5 SECTION("IO") { test_get((SV*)vars.io, vars.iv); }
1 0 SECTION("IO") { test_get((SV*)vars.io, vars.iv); }
102 63 0 SECTION("noinc") { Test::noinc(vars.iv, behaviour_t::VALID); }
63 0 SECTION("noinc") { Test::noinc(vars.iv, behaviour_t::VALID); }
63 0 SECTION("noinc") { Test::noinc(vars.iv, behaviour_t::VALID); }
63 0 SECTION("noinc") { Test::noinc(vars.iv, behaviour_t::VALID); }
1 62 SECTION("noinc") { Test::noinc(vars.iv, behaviour_t::VALID); }
1 0 SECTION("noinc") { Test::noinc(vars.iv, behaviour_t::VALID); }
104 63 0 SECTION("to bool / defined / is_true") {
63 0 SECTION("to bool / defined / is_true") {
63 0 SECTION("to bool / defined / is_true") {
63 0 SECTION("to bool / defined / is_true") {
1 62 SECTION("to bool / defined / is_true") {
106 1 0 REQUIRE(!sv);
1 0 REQUIRE(!sv);
1 0 REQUIRE(!sv);
1 0 REQUIRE(!sv);
0 0 REQUIRE(!sv);
0 0 REQUIRE(!sv);
107 1 0 REQUIRE(!sv.defined());
1 0 REQUIRE(!sv.defined());
1 0 REQUIRE(!sv.defined());
1 0 REQUIRE(!sv.defined());
0 0 REQUIRE(!sv.defined());
0 0 REQUIRE(!sv.defined());
108 1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
0 0 REQUIRE(!sv.is_true());
0 0 REQUIRE(!sv.is_true());
110 1 0 sv = &PL_sv_undef;
111 1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
0 0 REQUIRE(sv);
0 0 REQUIRE(sv);
112 1 0 REQUIRE(!sv.defined());
1 0 REQUIRE(!sv.defined());
1 0 REQUIRE(!sv.defined());
1 0 REQUIRE(!sv.defined());
0 0 REQUIRE(!sv.defined());
0 0 REQUIRE(!sv.defined());
113 1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
0 0 REQUIRE(!sv.is_true());
0 0 REQUIRE(!sv.is_true());
115 1 0 sv = sv_2mortal(newSViv(0));
1 0 sv = sv_2mortal(newSViv(0));
1 0 sv = sv_2mortal(newSViv(0));
116 1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
0 0 REQUIRE(sv);
0 0 REQUIRE(sv);
117 1 0 REQUIRE(sv.defined());
1 0 REQUIRE(sv.defined());
1 0 REQUIRE(sv.defined());
1 0 REQUIRE(sv.defined());
0 0 REQUIRE(sv.defined());
0 0 REQUIRE(sv.defined());
118 1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
0 0 REQUIRE(!sv.is_true());
0 0 REQUIRE(!sv.is_true());
120 1 0 sv = sv_2mortal(newSViv(10));
1 0 sv = sv_2mortal(newSViv(10));
1 0 sv = sv_2mortal(newSViv(10));
121 1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
0 0 REQUIRE(sv);
0 0 REQUIRE(sv);
122 1 0 REQUIRE(sv.defined());
1 0 REQUIRE(sv.defined());
1 0 REQUIRE(sv.defined());
1 0 REQUIRE(sv.defined());
0 0 REQUIRE(sv.defined());
0 0 REQUIRE(sv.defined());
123 1 0 REQUIRE(sv.is_true());
1 0 REQUIRE(sv.is_true());
1 0 REQUIRE(sv.is_true());
1 0 REQUIRE(sv.is_true());
1 0 REQUIRE(sv.is_true());
0 0 REQUIRE(sv.is_true());
0 0 REQUIRE(sv.is_true());
125 1 0 sv = vars.av;
126 1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
0 0 REQUIRE(sv);
0 0 REQUIRE(sv);
127 1 0 REQUIRE(!sv.defined());
1 0 REQUIRE(!sv.defined());
1 0 REQUIRE(!sv.defined());
1 0 REQUIRE(!sv.defined());
0 0 REQUIRE(!sv.defined());
0 0 REQUIRE(!sv.defined());
128 1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
0 0 REQUIRE(!sv.is_true());
0 0 REQUIRE(!sv.is_true());
130 1 0 sv = vars.hv;
131 1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
0 0 REQUIRE(sv);
0 0 REQUIRE(sv);
132 1 0 REQUIRE(!sv.defined());
1 0 REQUIRE(!sv.defined());
1 0 REQUIRE(!sv.defined());
1 0 REQUIRE(!sv.defined());
0 0 REQUIRE(!sv.defined());
0 0 REQUIRE(!sv.defined());
133 1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
0 0 REQUIRE(!sv.is_true());
0 0 REQUIRE(!sv.is_true());
135 1 0 sv = vars.cv;
136 1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
0 0 REQUIRE(sv);
0 0 REQUIRE(sv);
137 1 0 REQUIRE(!sv.defined());
1 0 REQUIRE(!sv.defined());
1 0 REQUIRE(!sv.defined());
1 0 REQUIRE(!sv.defined());
0 0 REQUIRE(!sv.defined());
0 0 REQUIRE(!sv.defined());
138 1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
0 0 REQUIRE(!sv.is_true());
0 0 REQUIRE(!sv.is_true());
140 1 0 sv = vars.gv;
141 1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
0 0 REQUIRE(sv);
0 0 REQUIRE(sv);
142 1 0 REQUIRE(sv.defined());
1 0 REQUIRE(sv.defined());
1 0 REQUIRE(sv.defined());
1 0 REQUIRE(sv.defined());
0 0 REQUIRE(sv.defined());
0 0 REQUIRE(sv.defined());
143 1 0 REQUIRE(sv.is_true());
1 0 REQUIRE(sv.is_true());
1 0 REQUIRE(sv.is_true());
1 0 REQUIRE(sv.is_true());
1 0 REQUIRE(sv.is_true());
0 0 REQUIRE(sv.is_true());
0 0 REQUIRE(sv.is_true());
145 1 0 sv = vars.io;
146 1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
1 0 REQUIRE(sv);
0 0 REQUIRE(sv);
0 0 REQUIRE(sv);
147 1 0 REQUIRE(!sv.defined());
1 0 REQUIRE(!sv.defined());
1 0 REQUIRE(!sv.defined());
1 0 REQUIRE(!sv.defined());
0 0 REQUIRE(!sv.defined());
0 0 REQUIRE(!sv.defined());
148 1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
1 0 REQUIRE(!sv.is_true());
0 0 REQUIRE(!sv.is_true());
0 0 REQUIRE(!sv.is_true());
151 63 0 SECTION("type") {
63 0 SECTION("type") {
63 0 SECTION("type") {
63 0 SECTION("type") {
1 62 SECTION("type") {
153 1 0 REQUIRE(sv.type() == SVt_IV);
1 0 REQUIRE(sv.type() == SVt_IV);
1 0 REQUIRE(sv.type() == SVt_IV);
1 0 REQUIRE(sv.type() == SVt_IV);
1 0 REQUIRE(sv.type() == SVt_IV);
0 0 REQUIRE(sv.type() == SVt_IV);
0 0 REQUIRE(sv.type() == SVt_IV);
154 1 0 sv = vars.pv;
155 1 0 REQUIRE(sv.type() == SVt_PV);
1 0 REQUIRE(sv.type() == SVt_PV);
1 0 REQUIRE(sv.type() == SVt_PV);
1 0 REQUIRE(sv.type() == SVt_PV);
1 0 REQUIRE(sv.type() == SVt_PV);
0 0 REQUIRE(sv.type() == SVt_PV);
0 0 REQUIRE(sv.type() == SVt_PV);
156 1 0 sv_setiv(sv, 10);
157 1 0 REQUIRE(sv.type() == SVt_PVIV);
1 0 REQUIRE(sv.type() == SVt_PVIV);
1 0 REQUIRE(sv.type() == SVt_PVIV);
1 0 REQUIRE(sv.type() == SVt_PVIV);
1 0 REQUIRE(sv.type() == SVt_PVIV);
0 0 REQUIRE(sv.type() == SVt_PVIV);
0 0 REQUIRE(sv.type() == SVt_PVIV);
158 1 0 sv = vars.av;
159 1 0 REQUIRE(sv.type() == SVt_PVAV);
1 0 REQUIRE(sv.type() == SVt_PVAV);
1 0 REQUIRE(sv.type() == SVt_PVAV);
1 0 REQUIRE(sv.type() == SVt_PVAV);
1 0 REQUIRE(sv.type() == SVt_PVAV);
0 0 REQUIRE(sv.type() == SVt_PVAV);
0 0 REQUIRE(sv.type() == SVt_PVAV);
160 1 0 sv = vars.hv;
161 1 0 REQUIRE(sv.type() == SVt_PVHV);
1 0 REQUIRE(sv.type() == SVt_PVHV);
1 0 REQUIRE(sv.type() == SVt_PVHV);
1 0 REQUIRE(sv.type() == SVt_PVHV);
1 0 REQUIRE(sv.type() == SVt_PVHV);
0 0 REQUIRE(sv.type() == SVt_PVHV);
0 0 REQUIRE(sv.type() == SVt_PVHV);
162 1 0 sv = vars.cv;
163 1 0 REQUIRE(sv.type() == SVt_PVCV);
1 0 REQUIRE(sv.type() == SVt_PVCV);
1 0 REQUIRE(sv.type() == SVt_PVCV);
1 0 REQUIRE(sv.type() == SVt_PVCV);
1 0 REQUIRE(sv.type() == SVt_PVCV);
0 0 REQUIRE(sv.type() == SVt_PVCV);
0 0 REQUIRE(sv.type() == SVt_PVCV);
164 1 0 sv = vars.ov;
165 1 0 REQUIRE(sv.type() == SVt_PVMG);
1 0 REQUIRE(sv.type() == SVt_PVMG);
1 0 REQUIRE(sv.type() == SVt_PVMG);
1 0 REQUIRE(sv.type() == SVt_PVMG);
1 0 REQUIRE(sv.type() == SVt_PVMG);
0 0 REQUIRE(sv.type() == SVt_PVMG);
0 0 REQUIRE(sv.type() == SVt_PVMG);
166 1 0 sv = vars.gv;
167 1 0 REQUIRE(sv.type() == SVt_PVGV);
1 0 REQUIRE(sv.type() == SVt_PVGV);
1 0 REQUIRE(sv.type() == SVt_PVGV);
1 0 REQUIRE(sv.type() == SVt_PVGV);
1 0 REQUIRE(sv.type() == SVt_PVGV);
0 0 REQUIRE(sv.type() == SVt_PVGV);
0 0 REQUIRE(sv.type() == SVt_PVGV);
168 1 0 sv = vars.io;
169 1 0 REQUIRE(sv.type() == SVt_PVIO);
1 0 REQUIRE(sv.type() == SVt_PVIO);
1 0 REQUIRE(sv.type() == SVt_PVIO);
1 0 REQUIRE(sv.type() == SVt_PVIO);
1 0 REQUIRE(sv.type() == SVt_PVIO);
0 0 REQUIRE(sv.type() == SVt_PVIO);
0 0 REQUIRE(sv.type() == SVt_PVIO);
172 63 0 SECTION("readonly") {
63 0 SECTION("readonly") {
63 0 SECTION("readonly") {
63 0 SECTION("readonly") {
1 62 SECTION("readonly") {
173 1 0 REQUIRE(Sv::undef.readonly());
1 0 REQUIRE(Sv::undef.readonly());
1 0 REQUIRE(Sv::undef.readonly());
1 0 REQUIRE(Sv::undef.readonly());
0 0 REQUIRE(Sv::undef.readonly());
0 0 REQUIRE(Sv::undef.readonly());
175 1 0 REQUIRE(!sv.readonly());
1 0 REQUIRE(!sv.readonly());
1 0 REQUIRE(!sv.readonly());
1 0 REQUIRE(!sv.readonly());
0 0 REQUIRE(!sv.readonly());
0 0 REQUIRE(!sv.readonly());
177 1 0 REQUIRE(sv.readonly());
1 0 REQUIRE(sv.readonly());
1 0 REQUIRE(sv.readonly());
1 0 REQUIRE(sv.readonly());
0 0 REQUIRE(sv.readonly());
0 0 REQUIRE(sv.readonly());
179 1 0 REQUIRE(!sv.readonly());
1 0 REQUIRE(!sv.readonly());
1 0 REQUIRE(!sv.readonly());
1 0 REQUIRE(!sv.readonly());
0 0 REQUIRE(!sv.readonly());
0 0 REQUIRE(!sv.readonly());
182 63 0 SECTION("static undef/yes/no") {
63 0 SECTION("static undef/yes/no") {
63 0 SECTION("static undef/yes/no") {
63 0 SECTION("static undef/yes/no") {
1 62 SECTION("static undef/yes/no") {
183 1 0 REQUIRE(Sv::undef.readonly());
1 0 REQUIRE(Sv::undef.readonly());
1 0 REQUIRE(Sv::undef.readonly());
1 0 REQUIRE(Sv::undef.readonly());
0 0 REQUIRE(Sv::undef.readonly());
0 0 REQUIRE(Sv::undef.readonly());
184 1 0 REQUIRE(Sv::yes.readonly());
1 0 REQUIRE(Sv::yes.readonly());
1 0 REQUIRE(Sv::yes.readonly());
1 0 REQUIRE(Sv::yes.readonly());
0 0 REQUIRE(Sv::yes.readonly());
0 0 REQUIRE(Sv::yes.readonly());
185 1 0 REQUIRE(Sv::no.readonly());
1 0 REQUIRE(Sv::no.readonly());
1 0 REQUIRE(Sv::no.readonly());
1 0 REQUIRE(Sv::no.readonly());
0 0 REQUIRE(Sv::no.readonly());
0 0 REQUIRE(Sv::no.readonly());
187 1 0 REQUIRE(Sv::undef);
1 0 REQUIRE(Sv::undef);
1 0 REQUIRE(Sv::undef);
1 0 REQUIRE(Sv::undef);
0 0 REQUIRE(Sv::undef);
0 0 REQUIRE(Sv::undef);
188 1 0 REQUIRE(Sv::yes);
1 0 REQUIRE(Sv::yes);
1 0 REQUIRE(Sv::yes);
1 0 REQUIRE(Sv::yes);
0 0 REQUIRE(Sv::yes);
0 0 REQUIRE(Sv::yes);
189 1 0 REQUIRE(Sv::no);
1 0 REQUIRE(Sv::no);
1 0 REQUIRE(Sv::no);
1 0 REQUIRE(Sv::no);
0 0 REQUIRE(Sv::no);
0 0 REQUIRE(Sv::no);
191 1 0 REQUIRE(!Sv::undef.defined());
1 0 REQUIRE(!Sv::undef.defined());
1 0 REQUIRE(!Sv::undef.defined());
1 0 REQUIRE(!Sv::undef.defined());
0 0 REQUIRE(!Sv::undef.defined());
0 0 REQUIRE(!Sv::undef.defined());
192 1 0 REQUIRE(Sv::yes.defined());
1 0 REQUIRE(Sv::yes.defined());
1 0 REQUIRE(Sv::yes.defined());
1 0 REQUIRE(Sv::yes.defined());
0 0 REQUIRE(Sv::yes.defined());
0 0 REQUIRE(Sv::yes.defined());
193 1 0 REQUIRE(Sv::no.defined());
1 0 REQUIRE(Sv::no.defined());
1 0 REQUIRE(Sv::no.defined());
1 0 REQUIRE(Sv::no.defined());
0 0 REQUIRE(Sv::no.defined());
0 0 REQUIRE(Sv::no.defined());
195 1 0 REQUIRE(!Sv::undef.defined());
1 0 REQUIRE(!Sv::undef.defined());
1 0 REQUIRE(!Sv::undef.defined());
1 0 REQUIRE(!Sv::undef.defined());
0 0 REQUIRE(!Sv::undef.defined());
0 0 REQUIRE(!Sv::undef.defined());
196 1 0 REQUIRE(Sv::yes.is_true());
1 0 REQUIRE(Sv::yes.is_true());
1 0 REQUIRE(Sv::yes.is_true());
1 0 REQUIRE(Sv::yes.is_true());
1 0 REQUIRE(Sv::yes.is_true());
0 0 REQUIRE(Sv::yes.is_true());
0 0 REQUIRE(Sv::yes.is_true());
197 1 0 REQUIRE(!Sv::no.is_true());
1 0 REQUIRE(!Sv::no.is_true());
1 0 REQUIRE(!Sv::no.is_true());
1 0 REQUIRE(!Sv::no.is_true());
1 0 REQUIRE(!Sv::no.is_true());
0 0 REQUIRE(!Sv::no.is_true());
0 0 REQUIRE(!Sv::no.is_true());
200 63 0 SECTION("upgrade") {
63 0 SECTION("upgrade") {
63 0 SECTION("upgrade") {
63 0 SECTION("upgrade") {
1 62 SECTION("upgrade") {
201 1 0 Sv sv = Sv::create();
203 1 0 sv.upgrade(SVt_IV);
204 1 0 REQUIRE(sv.type() == SVt_IV);
1 0 REQUIRE(sv.type() == SVt_IV);
1 0 REQUIRE(sv.type() == SVt_IV);
1 0 REQUIRE(sv.type() == SVt_IV);
1 0 REQUIRE(sv.type() == SVt_IV);
0 0 REQUIRE(sv.type() == SVt_IV);
0 0 REQUIRE(sv.type() == SVt_IV);
206 1 0 REQUIRE(SvIVX(sv) == 10);
1 0 REQUIRE(SvIVX(sv) == 10);
1 0 REQUIRE(SvIVX(sv) == 10);
1 0 REQUIRE(SvIVX(sv) == 10);
1 0 REQUIRE(SvIVX(sv) == 10);
0 0 REQUIRE(SvIVX(sv) == 10);
0 0 REQUIRE(SvIVX(sv) == 10);
208 1 0 sv.upgrade(SVt_PV);
209 1 0 REQUIRE(sv.type() == SVt_PVIV);
1 0 REQUIRE(sv.type() == SVt_PVIV);
1 0 REQUIRE(sv.type() == SVt_PVIV);
1 0 REQUIRE(sv.type() == SVt_PVIV);
1 0 REQUIRE(sv.type() == SVt_PVIV);
0 0 REQUIRE(sv.type() == SVt_PVIV);
0 0 REQUIRE(sv.type() == SVt_PVIV);
211 1 0 sv = Sv::create();
212 1 0 sv.upgrade(SVt_PVAV);
213 1 0 REQUIRE(sv.type() == SVt_PVAV);
1 0 REQUIRE(sv.type() == SVt_PVAV);
1 0 REQUIRE(sv.type() == SVt_PVAV);
1 0 REQUIRE(sv.type() == SVt_PVAV);
1 0 REQUIRE(sv.type() == SVt_PVAV);
0 0 REQUIRE(sv.type() == SVt_PVAV);
0 0 REQUIRE(sv.type() == SVt_PVAV);
214 1 0 REQUIRE((AV*)sv);
1 0 REQUIRE((AV*)sv);
1 0 REQUIRE((AV*)sv);
1 0 REQUIRE((AV*)sv);
1 0 REQUIRE((AV*)sv);
0 0 REQUIRE((AV*)sv);
0 0 REQUIRE((AV*)sv);
216 1 0 sv = Sv::create();
217 1 0 sv.upgrade(SVt_PVHV);
218 1 0 REQUIRE(sv.type() == SVt_PVHV);
1 0 REQUIRE(sv.type() == SVt_PVHV);
1 0 REQUIRE(sv.type() == SVt_PVHV);
1 0 REQUIRE(sv.type() == SVt_PVHV);
1 0 REQUIRE(sv.type() == SVt_PVHV);
0 0 REQUIRE(sv.type() == SVt_PVHV);
0 0 REQUIRE(sv.type() == SVt_PVHV);
219 1 0 REQUIRE((HV*)sv);
1 0 REQUIRE((HV*)sv);
1 0 REQUIRE((HV*)sv);
1 0 REQUIRE((HV*)sv);
1 0 REQUIRE((HV*)sv);
0 0 REQUIRE((HV*)sv);
0 0 REQUIRE((HV*)sv);
222 63 0 SECTION("operator <<") {
63 0 SECTION("operator <<") {
63 0 SECTION("operator <<") {
63 0 SECTION("operator <<") {
1 62 SECTION("operator <<") {
224 1 0 std::stringstream ss;
225 1 0 ss << sv << ' ';
1 0 ss << sv << ' ';
226 1 0 REQUIRE(ss.str() == "1000 ");
1 0 REQUIRE(ss.str() == "1000 ");
1 0 REQUIRE(ss.str() == "1000 ");
1 0 REQUIRE(ss.str() == "1000 ");
1 0 REQUIRE(ss.str() == "1000 ");
1 0 REQUIRE(ss.str() == "1000 ");
0 0 REQUIRE(ss.str() == "1000 ");
0 0 REQUIRE(ss.str() == "1000 ");
228 1 0 sv = vars.pv;
229 1 0 ss << sv << ' ';
1 0 ss << sv << ' ';
230 1 0 REQUIRE(ss.str() == "1000 hello ");
1 0 REQUIRE(ss.str() == "1000 hello ");
1 0 REQUIRE(ss.str() == "1000 hello ");
1 0 REQUIRE(ss.str() == "1000 hello ");
1 0 REQUIRE(ss.str() == "1000 hello ");
1 0 REQUIRE(ss.str() == "1000 hello ");
0 0 REQUIRE(ss.str() == "1000 hello ");
0 0 REQUIRE(ss.str() == "1000 hello ");
232 1 0 sv = vars.rv;
233 1 0 ss << sv << ' ';
1 0 ss << sv << ' ';
234 1 0 REQUIRE(ss.str().substr(0, 18) == "1000 hello SCALAR(");
1 0 REQUIRE(ss.str().substr(0, 18) == "1000 hello SCALAR(");
1 0 REQUIRE(ss.str().substr(0, 18) == "1000 hello SCALAR(");
1 0 REQUIRE(ss.str().substr(0, 18) == "1000 hello SCALAR(");
1 0 REQUIRE(ss.str().substr(0, 18) == "1000 hello SCALAR(");
1 0 REQUIRE(ss.str().substr(0, 18) == "1000 hello SCALAR(");
1 0 REQUIRE(ss.str().substr(0, 18) == "1000 hello SCALAR(");
0 0 REQUIRE(ss.str().substr(0, 18) == "1000 hello SCALAR(");
0 0 REQUIRE(ss.str().substr(0, 18) == "1000 hello SCALAR(");
237 63 0 SECTION("is_scalar") {
63 0 SECTION("is_scalar") {
63 0 SECTION("is_scalar") {
63 0 SECTION("is_scalar") {
1 62 SECTION("is_scalar") {
239 1 0 REQUIRE(!o.is_scalar());
1 0 REQUIRE(!o.is_scalar());
1 0 REQUIRE(!o.is_scalar());
1 0 REQUIRE(!o.is_scalar());
1 0 REQUIRE(!o.is_scalar());
0 0 REQUIRE(!o.is_scalar());
0 0 REQUIRE(!o.is_scalar());
240 1 0 REQUIRE(Sv::undef.is_scalar());
1 0 REQUIRE(Sv::undef.is_scalar());
1 0 REQUIRE(Sv::undef.is_scalar());
1 0 REQUIRE(Sv::undef.is_scalar());
1 0 REQUIRE(Sv::undef.is_scalar());
0 0 REQUIRE(Sv::undef.is_scalar());
0 0 REQUIRE(Sv::undef.is_scalar());
241 1 0 o = vars.iv;
242 1 0 REQUIRE(o.is_scalar());
1 0 REQUIRE(o.is_scalar());
1 0 REQUIRE(o.is_scalar());
1 0 REQUIRE(o.is_scalar());
1 0 REQUIRE(o.is_scalar());
0 0 REQUIRE(o.is_scalar());
0 0 REQUIRE(o.is_scalar());
243 1 0 o = vars.pv;
244 1 0 REQUIRE(o.is_scalar());
1 0 REQUIRE(o.is_scalar());
1 0 REQUIRE(o.is_scalar());
1 0 REQUIRE(o.is_scalar());
1 0 REQUIRE(o.is_scalar());
0 0 REQUIRE(o.is_scalar());
0 0 REQUIRE(o.is_scalar());
245 1 0 o = vars.av;
246 1 0 REQUIRE(!o.is_scalar());
1 0 REQUIRE(!o.is_scalar());
1 0 REQUIRE(!o.is_scalar());
1 0 REQUIRE(!o.is_scalar());
1 0 REQUIRE(!o.is_scalar());
0 0 REQUIRE(!o.is_scalar());
0 0 REQUIRE(!o.is_scalar());
247 1 0 o = vars.hv;
248 1 0 REQUIRE(!o.is_scalar());
1 0 REQUIRE(!o.is_scalar());
1 0 REQUIRE(!o.is_scalar());
1 0 REQUIRE(!o.is_scalar());
1 0 REQUIRE(!o.is_scalar());
0 0 REQUIRE(!o.is_scalar());
0 0 REQUIRE(!o.is_scalar());
249 1 0 o = vars.rv;
250 1 0 REQUIRE(o.is_scalar());
1 0 REQUIRE(o.is_scalar());
1 0 REQUIRE(o.is_scalar());
1 0 REQUIRE(o.is_scalar());
1 0 REQUIRE(o.is_scalar());
0 0 REQUIRE(o.is_scalar());
0 0 REQUIRE(o.is_scalar());
251 1 0 o = vars.cv;
252 1 0 REQUIRE(!o.is_scalar());
1 0 REQUIRE(!o.is_scalar());
1 0 REQUIRE(!o.is_scalar());
1 0 REQUIRE(!o.is_scalar());
1 0 REQUIRE(!o.is_scalar());
0 0 REQUIRE(!o.is_scalar());
0 0 REQUIRE(!o.is_scalar());
253 1 0 o = vars.ov;
254 1 0 REQUIRE(o.is_scalar());
1 0 REQUIRE(o.is_scalar());
1 0 REQUIRE(o.is_scalar());
1 0 REQUIRE(o.is_scalar());
1 0 REQUIRE(o.is_scalar());
0 0 REQUIRE(o.is_scalar());
0 0 REQUIRE(o.is_scalar());
255 1 0 o = vars.stash;
256 1 0 REQUIRE(!o.is_scalar());
1 0 REQUIRE(!o.is_scalar());
1 0 REQUIRE(!o.is_scalar());
1 0 REQUIRE(!o.is_scalar());
1 0 REQUIRE(!o.is_scalar());
0 0 REQUIRE(!o.is_scalar());
0 0 REQUIRE(!o.is_scalar());
257 1 0 o = vars.gv;
258 1 0 REQUIRE(o.is_scalar());
1 0 REQUIRE(o.is_scalar());
1 0 REQUIRE(o.is_scalar());
1 0 REQUIRE(o.is_scalar());
1 0 REQUIRE(o.is_scalar());
0 0 REQUIRE(o.is_scalar());
0 0 REQUIRE(o.is_scalar());
259 1 0 o = vars.io;
260 1 0 REQUIRE(!o.is_scalar());
1 0 REQUIRE(!o.is_scalar());
1 0 REQUIRE(!o.is_scalar());
1 0 REQUIRE(!o.is_scalar());
1 0 REQUIRE(!o.is_scalar());
0 0 REQUIRE(!o.is_scalar());
0 0 REQUIRE(!o.is_scalar());
263 63 0 SECTION("is_ref") {
63 0 SECTION("is_ref") {
63 0 SECTION("is_ref") {
63 0 SECTION("is_ref") {
1 62 SECTION("is_ref") {
265 1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
0 0 REQUIRE(!o.is_ref());
0 0 REQUIRE(!o.is_ref());
266 1 0 o = vars.iv;
267 1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
0 0 REQUIRE(!o.is_ref());
0 0 REQUIRE(!o.is_ref());
268 1 0 o = vars.pv;
269 1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
0 0 REQUIRE(!o.is_ref());
0 0 REQUIRE(!o.is_ref());
270 1 0 o = vars.av;
271 1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
0 0 REQUIRE(!o.is_ref());
0 0 REQUIRE(!o.is_ref());
272 1 0 o = vars.hv;
273 1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
0 0 REQUIRE(!o.is_ref());
0 0 REQUIRE(!o.is_ref());
274 1 0 o = vars.rv;
275 1 0 REQUIRE(o.is_ref());
1 0 REQUIRE(o.is_ref());
1 0 REQUIRE(o.is_ref());
1 0 REQUIRE(o.is_ref());
0 0 REQUIRE(o.is_ref());
0 0 REQUIRE(o.is_ref());
276 1 0 o = vars.cv;
277 1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
0 0 REQUIRE(!o.is_ref());
0 0 REQUIRE(!o.is_ref());
278 1 0 o = vars.ov;
279 1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
0 0 REQUIRE(!o.is_ref());
0 0 REQUIRE(!o.is_ref());
280 1 0 o = vars.stash;
281 1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
0 0 REQUIRE(!o.is_ref());
0 0 REQUIRE(!o.is_ref());
282 1 0 o = vars.gv;
283 1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
0 0 REQUIRE(!o.is_ref());
0 0 REQUIRE(!o.is_ref());
284 1 0 o = vars.io;
285 1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
1 0 REQUIRE(!o.is_ref());
0 0 REQUIRE(!o.is_ref());
0 0 REQUIRE(!o.is_ref());
288 63 0 SECTION("is_simple") {
63 0 SECTION("is_simple") {
63 0 SECTION("is_simple") {
63 0 SECTION("is_simple") {
1 62 SECTION("is_simple") {
290 1 0 REQUIRE(!o.is_simple());
1 0 REQUIRE(!o.is_simple());
1 0 REQUIRE(!o.is_simple());
1 0 REQUIRE(!o.is_simple());
0 0 REQUIRE(!o.is_simple());
0 0 REQUIRE(!o.is_simple());
291 1 0 REQUIRE(Sv::undef.is_simple());
1 0 REQUIRE(Sv::undef.is_simple());
1 0 REQUIRE(Sv::undef.is_simple());
1 0 REQUIRE(Sv::undef.is_simple());
0 0 REQUIRE(Sv::undef.is_simple());
0 0 REQUIRE(Sv::undef.is_simple());
292 1 0 o = vars.iv;
293 1 0 REQUIRE(o.is_simple());
1 0 REQUIRE(o.is_simple());
1 0 REQUIRE(o.is_simple());
1 0 REQUIRE(o.is_simple());
0 0 REQUIRE(o.is_simple());
0 0 REQUIRE(o.is_simple());
294 1 0 o = vars.pv;
295 1 0 REQUIRE(o.is_simple());
1 0 REQUIRE(o.is_simple());
1 0 REQUIRE(o.is_simple());
1 0 REQUIRE(o.is_simple());
0 0 REQUIRE(o.is_simple());
0 0 REQUIRE(o.is_simple());
296 1 0 o = vars.av;
297 1 0 REQUIRE(!o.is_simple());
1 0 REQUIRE(!o.is_simple());
1 0 REQUIRE(!o.is_simple());
1 0 REQUIRE(!o.is_simple());
0 0 REQUIRE(!o.is_simple());
0 0 REQUIRE(!o.is_simple());
298 1 0 o = vars.hv;
299 1 0 REQUIRE(!o.is_simple());
1 0 REQUIRE(!o.is_simple());
1 0 REQUIRE(!o.is_simple());
1 0 REQUIRE(!o.is_simple());
0 0 REQUIRE(!o.is_simple());
0 0 REQUIRE(!o.is_simple());
300 1 0 o = vars.rv;
301 1 0 REQUIRE(!o.is_simple());
1 0 REQUIRE(!o.is_simple());
1 0 REQUIRE(!o.is_simple());
1 0 REQUIRE(!o.is_simple());
0 0 REQUIRE(!o.is_simple());
0 0 REQUIRE(!o.is_simple());
302 1 0 o = vars.cv;
303 1 0 REQUIRE(!o.is_simple());
1 0 REQUIRE(!o.is_simple());
1 0 REQUIRE(!o.is_simple());
1 0 REQUIRE(!o.is_simple());
0 0 REQUIRE(!o.is_simple());
0 0 REQUIRE(!o.is_simple());
304 1 0 o = vars.ov;
305 1 0 REQUIRE(o.is_simple());
1 0 REQUIRE(o.is_simple());
1 0 REQUIRE(o.is_simple());
1 0 REQUIRE(o.is_simple());
0 0 REQUIRE(o.is_simple());
0 0 REQUIRE(o.is_simple());
306 1 0 o = vars.stash;
307 1 0 REQUIRE(!o.is_simple());
1 0 REQUIRE(!o.is_simple());
1 0 REQUIRE(!o.is_simple());
1 0 REQUIRE(!o.is_simple());
0 0 REQUIRE(!o.is_simple());
0 0 REQUIRE(!o.is_simple());
308 1 0 o = vars.gv;
309 1 0 REQUIRE(!o.is_simple());
1 0 REQUIRE(!o.is_simple());
1 0 REQUIRE(!o.is_simple());
1 0 REQUIRE(!o.is_simple());
0 0 REQUIRE(!o.is_simple());
0 0 REQUIRE(!o.is_simple());
310 1 0 o = vars.io;
311 1 0 REQUIRE(!o.is_simple());
1 0 REQUIRE(!o.is_simple());
1 0 REQUIRE(!o.is_simple());
1 0 REQUIRE(!o.is_simple());
0 0 REQUIRE(!o.is_simple());
0 0 REQUIRE(!o.is_simple());
314 63 0 SECTION("is_array") {
63 0 SECTION("is_array") {
63 0 SECTION("is_array") {
63 0 SECTION("is_array") {
1 62 SECTION("is_array") {
316 1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
0 0 REQUIRE(!o.is_array());
0 0 REQUIRE(!o.is_array());
317 1 0 REQUIRE(!Sv::undef.is_array());
1 0 REQUIRE(!Sv::undef.is_array());
1 0 REQUIRE(!Sv::undef.is_array());
1 0 REQUIRE(!Sv::undef.is_array());
0 0 REQUIRE(!Sv::undef.is_array());
0 0 REQUIRE(!Sv::undef.is_array());
318 1 0 o = vars.iv;
319 1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
0 0 REQUIRE(!o.is_array());
0 0 REQUIRE(!o.is_array());
320 1 0 o = vars.pv;
321 1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
0 0 REQUIRE(!o.is_array());
0 0 REQUIRE(!o.is_array());
322 1 0 o = vars.av;
323 1 0 REQUIRE(o.is_array());
1 0 REQUIRE(o.is_array());
1 0 REQUIRE(o.is_array());
1 0 REQUIRE(o.is_array());
0 0 REQUIRE(o.is_array());
0 0 REQUIRE(o.is_array());
324 1 0 o = vars.hv;
325 1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
0 0 REQUIRE(!o.is_array());
0 0 REQUIRE(!o.is_array());
326 1 0 o = vars.rv;
327 1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
0 0 REQUIRE(!o.is_array());
0 0 REQUIRE(!o.is_array());
328 1 0 o = vars.cv;
329 1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
0 0 REQUIRE(!o.is_array());
0 0 REQUIRE(!o.is_array());
330 1 0 o = vars.oav;
331 1 0 REQUIRE(o.is_array());
1 0 REQUIRE(o.is_array());
1 0 REQUIRE(o.is_array());
1 0 REQUIRE(o.is_array());
0 0 REQUIRE(o.is_array());
0 0 REQUIRE(o.is_array());
332 1 0 o = vars.stash;
333 1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
0 0 REQUIRE(!o.is_array());
0 0 REQUIRE(!o.is_array());
334 1 0 o = vars.gv;
335 1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
0 0 REQUIRE(!o.is_array());
0 0 REQUIRE(!o.is_array());
336 1 0 o = vars.io;
337 1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
1 0 REQUIRE(!o.is_array());
0 0 REQUIRE(!o.is_array());
0 0 REQUIRE(!o.is_array());
340 63 0 SECTION("is_hash") {
63 0 SECTION("is_hash") {
63 0 SECTION("is_hash") {
63 0 SECTION("is_hash") {
1 62 SECTION("is_hash") {
342 1 0 REQUIRE(!o.is_hash());
1 0 REQUIRE(!o.is_hash());
1 0 REQUIRE(!o.is_hash());
1 0 REQUIRE(!o.is_hash());
0 0 REQUIRE(!o.is_hash());
0 0 REQUIRE(!o.is_hash());
343 1 0 REQUIRE(!Sv::undef.is_hash());
1 0 REQUIRE(!Sv::undef.is_hash());
1 0 REQUIRE(!Sv::undef.is_hash());
1 0 REQUIRE(!Sv::undef.is_hash());
0 0 REQUIRE(!Sv::undef.is_hash());
0 0 REQUIRE(!Sv::undef.is_hash());
344 1 0 o = vars.iv;
345 1 0 REQUIRE(!o.is_hash());
1 0 REQUIRE(!o.is_hash());
1 0 REQUIRE(!o.is_hash());
1 0 REQUIRE(!o.is_hash());
0 0 REQUIRE(!o.is_hash());
0 0 REQUIRE(!o.is_hash());
346 1 0 o = vars.pv;
347 1 0 REQUIRE(!o.is_hash());
1 0 REQUIRE(!o.is_hash());
1 0 REQUIRE(!o.is_hash());
1 0 REQUIRE(!o.is_hash());
0 0 REQUIRE(!o.is_hash());
0 0 REQUIRE(!o.is_hash());
348 1 0 o = vars.av;
349 1 0 REQUIRE(!o.is_hash());
1 0 REQUIRE(!o.is_hash());
1 0 REQUIRE(!o.is_hash());
1 0 REQUIRE(!o.is_hash());
0 0 REQUIRE(!o.is_hash());
0 0 REQUIRE(!o.is_hash());
350 1 0 o = vars.hv;
351 1 0 REQUIRE(o.is_hash());
1 0 REQUIRE(o.is_hash());
1 0 REQUIRE(o.is_hash());
1 0 REQUIRE(o.is_hash());
0 0 REQUIRE(o.is_hash());
0 0 REQUIRE(o.is_hash());
352 1 0 o = vars.rv;
353 1 0 REQUIRE(!o.is_hash());
1 0 REQUIRE(!o.is_hash());
1 0 REQUIRE(!o.is_hash());
1 0 REQUIRE(!o.is_hash());
0 0 REQUIRE(!o.is_hash());
0 0 REQUIRE(!o.is_hash());
354 1 0 o = vars.cv;
355 1 0 REQUIRE(!o.is_hash());
1 0 REQUIRE(!o.is_hash());
1 0 REQUIRE(!o.is_hash());
1 0 REQUIRE(!o.is_hash());
0 0 REQUIRE(!o.is_hash());
0 0 REQUIRE(!o.is_hash());
356 1 0 o = vars.ohv;
357 1 0 REQUIRE(o.is_hash());
1 0 REQUIRE(o.is_hash());
1 0 REQUIRE(o.is_hash());
1 0 REQUIRE(o.is_hash());
0 0 REQUIRE(o.is_hash());
0 0 REQUIRE(o.is_hash());
358 1 0 o = vars.stash;
359 1 0 REQUIRE(o.is_hash());
1 0 REQUIRE(o.is_hash());
1 0 REQUIRE(o.is_hash());
1 0 REQUIRE(o.is_hash());
0 0 REQUIRE(o.is_hash());
0 0 REQUIRE(o.is_hash());
360 1 0 o = vars.gv;
361 1 0 REQUIRE(!o.is_hash());
1 0 REQUIRE(!o.is_hash());
1 0 REQUIRE(!o.is_hash());
1 0 REQUIRE(!o.is_hash());
0 0 REQUIRE(!o.is_hash());
0 0 REQUIRE(!o.is_hash());
362 1 0 o = vars.io;
363 1 0 REQUIRE(!o.is_hash());
1 0 REQUIRE(!o.is_hash());
1 0 REQUIRE(!o.is_hash());
1 0 REQUIRE(!o.is_hash());
0 0 REQUIRE(!o.is_hash());
0 0 REQUIRE(!o.is_hash());
366 63 0 SECTION("is_sub") {
63 0 SECTION("is_sub") {
63 0 SECTION("is_sub") {
63 0 SECTION("is_sub") {
1 62 SECTION("is_sub") {
368 1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
0 0 REQUIRE(!o.is_sub());
0 0 REQUIRE(!o.is_sub());
369 1 0 REQUIRE(!Sv::undef.is_sub());
1 0 REQUIRE(!Sv::undef.is_sub());
1 0 REQUIRE(!Sv::undef.is_sub());
1 0 REQUIRE(!Sv::undef.is_sub());
0 0 REQUIRE(!Sv::undef.is_sub());
0 0 REQUIRE(!Sv::undef.is_sub());
370 1 0 o = vars.iv;
371 1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
0 0 REQUIRE(!o.is_sub());
0 0 REQUIRE(!o.is_sub());
372 1 0 o = vars.pv;
373 1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
0 0 REQUIRE(!o.is_sub());
0 0 REQUIRE(!o.is_sub());
374 1 0 o = vars.av;
375 1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
0 0 REQUIRE(!o.is_sub());
0 0 REQUIRE(!o.is_sub());
376 1 0 o = vars.hv;
377 1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
0 0 REQUIRE(!o.is_sub());
0 0 REQUIRE(!o.is_sub());
378 1 0 o = vars.rv;
379 1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
0 0 REQUIRE(!o.is_sub());
0 0 REQUIRE(!o.is_sub());
380 1 0 o = vars.cv;
381 1 0 REQUIRE(o.is_sub());
1 0 REQUIRE(o.is_sub());
1 0 REQUIRE(o.is_sub());
1 0 REQUIRE(o.is_sub());
0 0 REQUIRE(o.is_sub());
0 0 REQUIRE(o.is_sub());
382 1 0 o = vars.ov;
383 1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
0 0 REQUIRE(!o.is_sub());
0 0 REQUIRE(!o.is_sub());
384 1 0 o = vars.stash;
385 1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
0 0 REQUIRE(!o.is_sub());
0 0 REQUIRE(!o.is_sub());
386 1 0 o = vars.gv;
387 1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
0 0 REQUIRE(!o.is_sub());
0 0 REQUIRE(!o.is_sub());
388 1 0 o = vars.io;
389 1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
1 0 REQUIRE(!o.is_sub());
0 0 REQUIRE(!o.is_sub());
0 0 REQUIRE(!o.is_sub());
392 63 0 SECTION("is_object") {
63 0 SECTION("is_object") {
63 0 SECTION("is_object") {
63 0 SECTION("is_object") {
1 62 SECTION("is_object") {
394 1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
0 0 REQUIRE(!o.is_object());
0 0 REQUIRE(!o.is_object());
395 1 0 REQUIRE(!Sv::undef.is_object());
1 0 REQUIRE(!Sv::undef.is_object());
1 0 REQUIRE(!Sv::undef.is_object());
1 0 REQUIRE(!Sv::undef.is_object());
0 0 REQUIRE(!Sv::undef.is_object());
0 0 REQUIRE(!Sv::undef.is_object());
396 1 0 o = vars.iv;
397 1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
0 0 REQUIRE(!o.is_object());
0 0 REQUIRE(!o.is_object());
398 1 0 o = vars.pv;
399 1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
0 0 REQUIRE(!o.is_object());
0 0 REQUIRE(!o.is_object());
400 1 0 o = vars.av;
401 1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
0 0 REQUIRE(!o.is_object());
0 0 REQUIRE(!o.is_object());
402 1 0 o = vars.hv;
403 1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
0 0 REQUIRE(!o.is_object());
0 0 REQUIRE(!o.is_object());
404 1 0 o = vars.rv;
405 1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
0 0 REQUIRE(!o.is_object());
0 0 REQUIRE(!o.is_object());
406 1 0 o = vars.cv;
407 1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
0 0 REQUIRE(!o.is_object());
0 0 REQUIRE(!o.is_object());
408 1 0 o = vars.ov;
409 1 0 REQUIRE(o.is_object());
1 0 REQUIRE(o.is_object());
1 0 REQUIRE(o.is_object());
1 0 REQUIRE(o.is_object());
0 0 REQUIRE(o.is_object());
0 0 REQUIRE(o.is_object());
410 1 0 o = vars.stash;
411 1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
0 0 REQUIRE(!o.is_object());
0 0 REQUIRE(!o.is_object());
412 1 0 o = vars.gv;
413 1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
1 0 REQUIRE(!o.is_object());
0 0 REQUIRE(!o.is_object());
0 0 REQUIRE(!o.is_object());
414 1 0 o = vars.io;
415 1 0 REQUIRE(o.is_object());
1 0 REQUIRE(o.is_object());
1 0 REQUIRE(o.is_object());
1 0 REQUIRE(o.is_object());
0 0 REQUIRE(o.is_object());
0 0 REQUIRE(o.is_object());
418 63 0 SECTION("is_stash") {
63 0 SECTION("is_stash") {
63 0 SECTION("is_stash") {
63 0 SECTION("is_stash") {
1 62 SECTION("is_stash") {
420 1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
0 0 REQUIRE(!o.is_stash());
0 0 REQUIRE(!o.is_stash());
421 1 0 REQUIRE(!Sv::undef.is_stash());
1 0 REQUIRE(!Sv::undef.is_stash());
1 0 REQUIRE(!Sv::undef.is_stash());
1 0 REQUIRE(!Sv::undef.is_stash());
0 0 REQUIRE(!Sv::undef.is_stash());
0 0 REQUIRE(!Sv::undef.is_stash());
422 1 0 o = vars.iv;
423 1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
0 0 REQUIRE(!o.is_stash());
0 0 REQUIRE(!o.is_stash());
424 1 0 o = vars.pv;
425 1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
0 0 REQUIRE(!o.is_stash());
0 0 REQUIRE(!o.is_stash());
426 1 0 o = vars.av;
427 1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
0 0 REQUIRE(!o.is_stash());
0 0 REQUIRE(!o.is_stash());
428 1 0 o = vars.hv;
429 1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
0 0 REQUIRE(!o.is_stash());
0 0 REQUIRE(!o.is_stash());
430 1 0 o = vars.rv;
431 1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
0 0 REQUIRE(!o.is_stash());
0 0 REQUIRE(!o.is_stash());
432 1 0 o = vars.cv;
433 1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
0 0 REQUIRE(!o.is_stash());
0 0 REQUIRE(!o.is_stash());
434 1 0 o = vars.ov;
435 1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
0 0 REQUIRE(!o.is_stash());
0 0 REQUIRE(!o.is_stash());
436 1 0 o = vars.stash;
437 1 0 REQUIRE(o.is_stash());
1 0 REQUIRE(o.is_stash());
1 0 REQUIRE(o.is_stash());
1 0 REQUIRE(o.is_stash());
0 0 REQUIRE(o.is_stash());
0 0 REQUIRE(o.is_stash());
438 1 0 o = vars.gv;
439 1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
0 0 REQUIRE(!o.is_stash());
0 0 REQUIRE(!o.is_stash());
440 1 0 o = vars.io;
441 1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
1 0 REQUIRE(!o.is_stash());
0 0 REQUIRE(!o.is_stash());
0 0 REQUIRE(!o.is_stash());
444 63 0 SECTION("is_glob") {
63 0 SECTION("is_glob") {
63 0 SECTION("is_glob") {
63 0 SECTION("is_glob") {
1 62 SECTION("is_glob") {
446 1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
0 0 REQUIRE(!o.is_glob());
0 0 REQUIRE(!o.is_glob());
447 1 0 REQUIRE(!Sv::undef.is_glob());
1 0 REQUIRE(!Sv::undef.is_glob());
1 0 REQUIRE(!Sv::undef.is_glob());
1 0 REQUIRE(!Sv::undef.is_glob());
0 0 REQUIRE(!Sv::undef.is_glob());
0 0 REQUIRE(!Sv::undef.is_glob());
448 1 0 o = vars.iv;
449 1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
0 0 REQUIRE(!o.is_glob());
0 0 REQUIRE(!o.is_glob());
450 1 0 o = vars.pv;
451 1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
0 0 REQUIRE(!o.is_glob());
0 0 REQUIRE(!o.is_glob());
452 1 0 o = vars.av;
453 1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
0 0 REQUIRE(!o.is_glob());
0 0 REQUIRE(!o.is_glob());
454 1 0 o = vars.hv;
455 1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
0 0 REQUIRE(!o.is_glob());
0 0 REQUIRE(!o.is_glob());
456 1 0 o = vars.rv;
457 1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
0 0 REQUIRE(!o.is_glob());
0 0 REQUIRE(!o.is_glob());
458 1 0 o = vars.cv;
459 1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
0 0 REQUIRE(!o.is_glob());
0 0 REQUIRE(!o.is_glob());
460 1 0 o = vars.ov;
461 1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
0 0 REQUIRE(!o.is_glob());
0 0 REQUIRE(!o.is_glob());
462 1 0 o = vars.stash;
463 1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
0 0 REQUIRE(!o.is_glob());
0 0 REQUIRE(!o.is_glob());
464 1 0 o = vars.gv;
465 1 0 REQUIRE(o.is_glob());
1 0 REQUIRE(o.is_glob());
1 0 REQUIRE(o.is_glob());
1 0 REQUIRE(o.is_glob());
0 0 REQUIRE(o.is_glob());
0 0 REQUIRE(o.is_glob());
466 1 0 o = vars.io;
467 1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
1 0 REQUIRE(!o.is_glob());
0 0 REQUIRE(!o.is_glob());
0 0 REQUIRE(!o.is_glob());
470 63 0 SECTION("operator==") {
63 0 SECTION("operator==") {
63 0 SECTION("operator==") {
63 0 SECTION("operator==") {
1 62 SECTION("operator==") {
472 1 0 REQUIRE(o == vars.iv);
1 0 REQUIRE(o == vars.iv);
1 0 REQUIRE(o == vars.iv);
1 0 REQUIRE(o == vars.iv);
1 0 REQUIRE(o == vars.iv);
0 0 REQUIRE(o == vars.iv);
0 0 REQUIRE(o == vars.iv);
473 1 0 REQUIRE(vars.iv == o);
1 0 REQUIRE(vars.iv == o);
1 0 REQUIRE(vars.iv == o);
1 0 REQUIRE(vars.iv == o);
1 0 REQUIRE(vars.iv == o);
0 0 REQUIRE(vars.iv == o);
0 0 REQUIRE(vars.iv == o);
474 1 0 REQUIRE(o == Sv(vars.iv));
1 0 REQUIRE(o == Sv(vars.iv));
1 0 REQUIRE(o == Sv(vars.iv));
1 0 REQUIRE(o == Sv(vars.iv));
1 0 REQUIRE(o == Sv(vars.iv));
0 0 REQUIRE(o == Sv(vars.iv));
0 0 REQUIRE(o == Sv(vars.iv));
475 1 0 o = vars.av;
476 1 0 REQUIRE(o == vars.av);
1 0 REQUIRE(o == vars.av);
1 0 REQUIRE(o == vars.av);
1 0 REQUIRE(o == vars.av);
1 0 REQUIRE(o == vars.av);
0 0 REQUIRE(o == vars.av);
0 0 REQUIRE(o == vars.av);
477 1 0 REQUIRE(vars.av == o);
1 0 REQUIRE(vars.av == o);
1 0 REQUIRE(vars.av == o);
1 0 REQUIRE(vars.av == o);
1 0 REQUIRE(vars.av == o);
0 0 REQUIRE(vars.av == o);
0 0 REQUIRE(vars.av == o);
478 1 0 o = vars.hv;
479 1 0 REQUIRE(o == vars.hv);
1 0 REQUIRE(o == vars.hv);
1 0 REQUIRE(o == vars.hv);
1 0 REQUIRE(o == vars.hv);
1 0 REQUIRE(o == vars.hv);
0 0 REQUIRE(o == vars.hv);
0 0 REQUIRE(o == vars.hv);
480 1 0 REQUIRE(vars.hv == o);
1 0 REQUIRE(vars.hv == o);
1 0 REQUIRE(vars.hv == o);
1 0 REQUIRE(vars.hv == o);
1 0 REQUIRE(vars.hv == o);
0 0 REQUIRE(vars.hv == o);
0 0 REQUIRE(vars.hv == o);
481 1 0 o = vars.cv;
482 1 0 REQUIRE(o == vars.cv);
1 0 REQUIRE(o == vars.cv);
1 0 REQUIRE(o == vars.cv);
1 0 REQUIRE(o == vars.cv);
1 0 REQUIRE(o == vars.cv);
0 0 REQUIRE(o == vars.cv);
0 0 REQUIRE(o == vars.cv);
483 1 0 REQUIRE(vars.cv == o);
1 0 REQUIRE(vars.cv == o);
1 0 REQUIRE(vars.cv == o);
1 0 REQUIRE(vars.cv == o);
1 0 REQUIRE(vars.cv == o);
0 0 REQUIRE(vars.cv == o);
0 0 REQUIRE(vars.cv == o);
484 1 0 o = vars.gv;
485 1 0 REQUIRE(o == vars.gv);
1 0 REQUIRE(o == vars.gv);
1 0 REQUIRE(o == vars.gv);
1 0 REQUIRE(o == vars.gv);
1 0 REQUIRE(o == vars.gv);
0 0 REQUIRE(o == vars.gv);
0 0 REQUIRE(o == vars.gv);
486 1 0 REQUIRE(vars.gv == o);
1 0 REQUIRE(vars.gv == o);
1 0 REQUIRE(vars.gv == o);
1 0 REQUIRE(vars.gv == o);
1 0 REQUIRE(vars.gv == o);
0 0 REQUIRE(vars.gv == o);
0 0 REQUIRE(vars.gv == o);
487 1 0 o = vars.io;
488 1 0 REQUIRE(o == vars.io);
1 0 REQUIRE(o == vars.io);
1 0 REQUIRE(o == vars.io);
1 0 REQUIRE(o == vars.io);
1 0 REQUIRE(o == vars.io);
0 0 REQUIRE(o == vars.io);
0 0 REQUIRE(o == vars.io);
489 1 0 REQUIRE(vars.io == o);
1 0 REQUIRE(vars.io == o);
1 0 REQUIRE(vars.io == o);
1 0 REQUIRE(vars.io == o);
1 0 REQUIRE(vars.io == o);
0 0 REQUIRE(vars.io == o);
0 0 REQUIRE(vars.io == o);
492 63 0 SECTION("detach") {
63 0 SECTION("detach") {
63 0 SECTION("detach") {
63 0 SECTION("detach") {
1 62 SECTION("detach") {
494 1 0 REQUIRE(o.detach() == nullptr);
1 0 REQUIRE(o.detach() == nullptr);
1 0 REQUIRE(o.detach() == nullptr);
1 0 REQUIRE(o.detach() == nullptr);
1 0 REQUIRE(o.detach() == nullptr);
0 0 REQUIRE(o.detach() == nullptr);
0 0 REQUIRE(o.detach() == nullptr);
495 1 0 o.reset();
496 1 0 o = vars.iv;
499 1 0 REQUIRE(sv == vars.iv);
1 0 REQUIRE(sv == vars.iv);
1 0 REQUIRE(sv == vars.iv);
1 0 REQUIRE(sv == vars.iv);
1 0 REQUIRE(sv == vars.iv);
0 0 REQUIRE(sv == vars.iv);
0 0 REQUIRE(sv == vars.iv);
500 1 0 REQUIRE(SvREFCNT(sv) == rcnt);
1 0 REQUIRE(SvREFCNT(sv) == rcnt);
1 0 REQUIRE(SvREFCNT(sv) == rcnt);
1 0 REQUIRE(SvREFCNT(sv) == rcnt);
1 0 REQUIRE(SvREFCNT(sv) == rcnt);
0 0 REQUIRE(SvREFCNT(sv) == rcnt);
0 0 REQUIRE(SvREFCNT(sv) == rcnt);
501 1 0 o.reset();
502 1 0 REQUIRE(SvREFCNT(sv) == rcnt);
1 0 REQUIRE(SvREFCNT(sv) == rcnt);
1 0 REQUIRE(SvREFCNT(sv) == rcnt);
1 0 REQUIRE(SvREFCNT(sv) == rcnt);
1 0 REQUIRE(SvREFCNT(sv) == rcnt);
0 0 REQUIRE(SvREFCNT(sv) == rcnt);
0 0 REQUIRE(SvREFCNT(sv) == rcnt);
503 1 0 SvREFCNT_dec(sv);
505 34 0 }
34 0 }