Branch Coverage

t/svapi/test.h
Criterion Covered Total %
branch 589 1856 31.7


line true false branch
40 0 0 if (!cv) throw std::logic_error("should not happen");
0 0 if (!cv) throw std::logic_error("should not happen");
43 0 0 if (!stash) throw std::logic_error("should not happen");
0 0 if (!stash) throw std::logic_error("should not happen");
52 0 0 if (!gvref) throw std::logic_error("should not happen");
0 0 if (!gvref) throw std::logic_error("should not happen");
84 2 0 SECTION("default") { _ctor(sv, behaviour, Sv::INCREMENT, check); }
2 0 SECTION("default") { _ctor(sv, behaviour, Sv::INCREMENT, check); }
2 0 SECTION("default") { _ctor(sv, behaviour, Sv::INCREMENT, check); }
2 0 SECTION("default") { _ctor(sv, behaviour, Sv::INCREMENT, check); }
1 1 SECTION("default") { _ctor(sv, behaviour, Sv::INCREMENT, check); }
1 0 SECTION("default") { _ctor(sv, behaviour, Sv::INCREMENT, check); }
22 0 SECTION("default") { _ctor(sv, behaviour, Sv::INCREMENT, check); }
22 0 SECTION("default") { _ctor(sv, behaviour, Sv::INCREMENT, check); }
22 0 SECTION("default") { _ctor(sv, behaviour, Sv::INCREMENT, check); }
22 0 SECTION("default") { _ctor(sv, behaviour, Sv::INCREMENT, check); }
11 11 SECTION("default") { _ctor(sv, behaviour, Sv::INCREMENT, check); }
11 0 SECTION("default") { _ctor(sv, behaviour, Sv::INCREMENT, check); }
85 2 0 SECTION("noinc") { _ctor(sv, behaviour, Sv::NONE, check); }
2 0 SECTION("noinc") { _ctor(sv, behaviour, Sv::NONE, check); }
2 0 SECTION("noinc") { _ctor(sv, behaviour, Sv::NONE, check); }
2 0 SECTION("noinc") { _ctor(sv, behaviour, Sv::NONE, check); }
1 1 SECTION("noinc") { _ctor(sv, behaviour, Sv::NONE, check); }
1 0 SECTION("noinc") { _ctor(sv, behaviour, Sv::NONE, check); }
22 0 SECTION("noinc") { _ctor(sv, behaviour, Sv::NONE, check); }
22 0 SECTION("noinc") { _ctor(sv, behaviour, Sv::NONE, check); }
22 0 SECTION("noinc") { _ctor(sv, behaviour, Sv::NONE, check); }
22 0 SECTION("noinc") { _ctor(sv, behaviour, Sv::NONE, check); }
11 11 SECTION("noinc") { _ctor(sv, behaviour, Sv::NONE, check); }
11 0 SECTION("noinc") { _ctor(sv, behaviour, Sv::NONE, check); }
90 4 0 SECTION("copy") { _ctor(src, behaviour, false); }
4 0 SECTION("copy") { _ctor(src, behaviour, false); }
4 0 SECTION("copy") { _ctor(src, behaviour, false); }
4 0 SECTION("copy") { _ctor(src, behaviour, false); }
2 2 SECTION("copy") { _ctor(src, behaviour, false); }
2 0 SECTION("copy") { _ctor(src, behaviour, false); }
2 0 SECTION("copy") { _ctor(src, behaviour, false); }
2 0 SECTION("copy") { _ctor(src, behaviour, false); }
2 0 SECTION("copy") { _ctor(src, behaviour, false); }
2 0 SECTION("copy") { _ctor(src, behaviour, false); }
1 1 SECTION("copy") { _ctor(src, behaviour, false); }
1 0 SECTION("copy") { _ctor(src, behaviour, false); }
91 4 0 SECTION("move") { _ctor(std::move(src), behaviour, true); }
4 0 SECTION("move") { _ctor(std::move(src), behaviour, true); }
4 0 SECTION("move") { _ctor(std::move(src), behaviour, true); }
4 0 SECTION("move") { _ctor(std::move(src), behaviour, true); }
2 2 SECTION("move") { _ctor(std::move(src), behaviour, true); }
2 0 SECTION("move") { _ctor(std::move(src), behaviour, true); }
2 0 SECTION("move") { _ctor(std::move(src), behaviour, true); }
2 0 SECTION("move") { _ctor(std::move(src), behaviour, true); }
2 0 SECTION("move") { _ctor(std::move(src), behaviour, true); }
2 0 SECTION("move") { _ctor(std::move(src), behaviour, true); }
1 1 SECTION("move") { _ctor(std::move(src), behaviour, true); }
1 0 SECTION("move") { _ctor(std::move(src), behaviour, true); }
124 2 0 REQUIRE(o);
2 0 REQUIRE(o);
2 0 REQUIRE(o);
2 0 REQUIRE(o);
0 0 REQUIRE(o);
0 0 REQUIRE(o);
22 0 REQUIRE(o);
22 0 REQUIRE(o);
22 0 REQUIRE(o);
22 0 REQUIRE(o);
0 0 REQUIRE(o);
0 0 REQUIRE(o);
125 2 0 SECTION("default") { _assign(o, sv, behaviour, check); }
2 0 SECTION("default") { _assign(o, sv, behaviour, check); }
2 0 SECTION("default") { _assign(o, sv, behaviour, check); }
2 0 SECTION("default") { _assign(o, sv, behaviour, check); }
1 1 SECTION("default") { _assign(o, sv, behaviour, check); }
1 0 SECTION("default") { _assign(o, sv, behaviour, check); }
22 0 SECTION("default") { _assign(o, sv, behaviour, check); }
22 0 SECTION("default") { _assign(o, sv, behaviour, check); }
22 0 SECTION("default") { _assign(o, sv, behaviour, check); }
22 0 SECTION("default") { _assign(o, sv, behaviour, check); }
11 11 SECTION("default") { _assign(o, sv, behaviour, check); }
11 0 SECTION("default") { _assign(o, sv, behaviour, check); }
126 2 0 SECTION("to empty") { _assign(TestClass(), sv, behaviour, check); }
2 0 SECTION("to empty") { _assign(TestClass(), sv, behaviour, check); }
2 0 SECTION("to empty") { _assign(TestClass(), sv, behaviour, check); }
2 0 SECTION("to empty") { _assign(TestClass(), sv, behaviour, check); }
1 1 SECTION("to empty") { _assign(TestClass(), sv, behaviour, check); }
1 0 SECTION("to empty") { _assign(TestClass(), sv, behaviour, check); }
22 0 SECTION("to empty") { _assign(TestClass(), sv, behaviour, check); }
22 0 SECTION("to empty") { _assign(TestClass(), sv, behaviour, check); }
22 0 SECTION("to empty") { _assign(TestClass(), sv, behaviour, check); }
22 0 SECTION("to empty") { _assign(TestClass(), sv, behaviour, check); }
11 11 SECTION("to empty") { _assign(TestClass(), sv, behaviour, check); }
11 0 SECTION("to empty") { _assign(TestClass(), sv, behaviour, check); }
131 8 0 REQUIRE(o);
8 0 REQUIRE(o);
8 0 REQUIRE(o);
8 0 REQUIRE(o);
0 0 REQUIRE(o);
0 0 REQUIRE(o);
4 0 REQUIRE(o);
4 0 REQUIRE(o);
4 0 REQUIRE(o);
4 0 REQUIRE(o);
0 0 REQUIRE(o);
0 0 REQUIRE(o);
132 8 0 SECTION("copy") {
8 0 SECTION("copy") {
8 0 SECTION("copy") {
8 0 SECTION("copy") {
4 4 SECTION("copy") {
4 0 SECTION("copy") {
4 0 SECTION("copy") {
4 0 SECTION("copy") {
4 0 SECTION("copy") {
2 2 SECTION("copy") {
133 4 0 SECTION("default") { _assign(o, oth, behaviour, false); }
4 0 SECTION("default") { _assign(o, oth, behaviour, false); }
4 0 SECTION("default") { _assign(o, oth, behaviour, false); }
4 0 SECTION("default") { _assign(o, oth, behaviour, false); }
2 2 SECTION("default") { _assign(o, oth, behaviour, false); }
2 0 SECTION("default") { _assign(o, oth, behaviour, false); }
2 0 SECTION("default") { _assign(o, oth, behaviour, false); }
2 0 SECTION("default") { _assign(o, oth, behaviour, false); }
2 0 SECTION("default") { _assign(o, oth, behaviour, false); }
2 0 SECTION("default") { _assign(o, oth, behaviour, false); }
1 1 SECTION("default") { _assign(o, oth, behaviour, false); }
1 0 SECTION("default") { _assign(o, oth, behaviour, false); }
134 4 0 SECTION("to empty") { _assign(TestClass(), oth, behaviour, false); }
4 0 SECTION("to empty") { _assign(TestClass(), oth, behaviour, false); }
4 0 SECTION("to empty") { _assign(TestClass(), oth, behaviour, false); }
4 0 SECTION("to empty") { _assign(TestClass(), oth, behaviour, false); }
2 2 SECTION("to empty") { _assign(TestClass(), oth, behaviour, false); }
2 0 SECTION("to empty") { _assign(TestClass(), oth, behaviour, false); }
2 0 SECTION("to empty") { _assign(TestClass(), oth, behaviour, false); }
2 0 SECTION("to empty") { _assign(TestClass(), oth, behaviour, false); }
2 0 SECTION("to empty") { _assign(TestClass(), oth, behaviour, false); }
2 0 SECTION("to empty") { _assign(TestClass(), oth, behaviour, false); }
1 1 SECTION("to empty") { _assign(TestClass(), oth, behaviour, false); }
1 0 SECTION("to empty") { _assign(TestClass(), oth, behaviour, false); }
136 8 0 SECTION("move") {
8 0 SECTION("move") {
8 0 SECTION("move") {
8 0 SECTION("move") {
4 4 SECTION("move") {
4 0 SECTION("move") {
4 0 SECTION("move") {
4 0 SECTION("move") {
4 0 SECTION("move") {
2 2 SECTION("move") {
137 4 0 SECTION("default") { _assign(o, std::move(oth), behaviour, true); }
4 0 SECTION("default") { _assign(o, std::move(oth), behaviour, true); }
4 0 SECTION("default") { _assign(o, std::move(oth), behaviour, true); }
4 0 SECTION("default") { _assign(o, std::move(oth), behaviour, true); }
2 2 SECTION("default") { _assign(o, std::move(oth), behaviour, true); }
2 0 SECTION("default") { _assign(o, std::move(oth), behaviour, true); }
2 0 SECTION("default") { _assign(o, std::move(oth), behaviour, true); }
2 0 SECTION("default") { _assign(o, std::move(oth), behaviour, true); }
2 0 SECTION("default") { _assign(o, std::move(oth), behaviour, true); }
2 0 SECTION("default") { _assign(o, std::move(oth), behaviour, true); }
1 1 SECTION("default") { _assign(o, std::move(oth), behaviour, true); }
1 0 SECTION("default") { _assign(o, std::move(oth), behaviour, true); }
138 4 0 SECTION("to empty") { _assign(TestClass(), std::move(oth), behaviour, true); }
4 0 SECTION("to empty") { _assign(TestClass(), std::move(oth), behaviour, true); }
4 0 SECTION("to empty") { _assign(TestClass(), std::move(oth), behaviour, true); }
4 0 SECTION("to empty") { _assign(TestClass(), std::move(oth), behaviour, true); }
2 2 SECTION("to empty") { _assign(TestClass(), std::move(oth), behaviour, true); }
2 0 SECTION("to empty") { _assign(TestClass(), std::move(oth), behaviour, true); }
2 0 SECTION("to empty") { _assign(TestClass(), std::move(oth), behaviour, true); }
2 0 SECTION("to empty") { _assign(TestClass(), std::move(oth), behaviour, true); }
2 0 SECTION("to empty") { _assign(TestClass(), std::move(oth), behaviour, true); }
2 0 SECTION("to empty") { _assign(TestClass(), std::move(oth), behaviour, true); }
1 1 SECTION("to empty") { _assign(TestClass(), std::move(oth), behaviour, true); }
1 0 SECTION("to empty") { _assign(TestClass(), std::move(oth), behaviour, true); }
145 2 0 if (!check) check = (TC*)sv;
22 0 if (!check) check = (TC*)sv;
147 1 1 if (policy == Sv::NONE) SvREFCNT_inc(sv);
11 11 if (policy == Sv::NONE) SvREFCNT_inc(sv);
152 2 0 TestClass o(sv, policy);
2 0 TestClass o(sv, policy);
153 2 0 REQUIRE(o);
2 0 REQUIRE(o);
2 0 REQUIRE(o);
2 0 REQUIRE(o);
0 0 REQUIRE(o);
0 0 REQUIRE(o);
2 0 REQUIRE(o);
2 0 REQUIRE(o);
2 0 REQUIRE(o);
2 0 REQUIRE(o);
0 0 REQUIRE(o);
0 0 REQUIRE(o);
154 2 0 REQUIRE(SvREFCNT(check) == cnt+1);
2 0 REQUIRE(SvREFCNT(check) == cnt+1);
2 0 REQUIRE(SvREFCNT(check) == cnt+1);
2 0 REQUIRE(SvREFCNT(check) == cnt+1);
2 0 REQUIRE(SvREFCNT(check) == cnt+1);
0 0 REQUIRE(SvREFCNT(check) == cnt+1);
0 0 REQUIRE(SvREFCNT(check) == cnt+1);
2 0 REQUIRE(SvREFCNT(check) == cnt+1);
2 0 REQUIRE(SvREFCNT(check) == cnt+1);
2 0 REQUIRE(SvREFCNT(check) == cnt+1);
2 0 REQUIRE(SvREFCNT(check) == cnt+1);
2 0 REQUIRE(SvREFCNT(check) == cnt+1);
0 0 REQUIRE(SvREFCNT(check) == cnt+1);
0 0 REQUIRE(SvREFCNT(check) == cnt+1);
155 2 0 REQUIRE(o.template get() == check);
2 0 REQUIRE(o.template get() == check);
2 0 REQUIRE(o.template get() == check);
2 0 REQUIRE(o.template get() == check);
2 0 REQUIRE(o.template get() == check);
0 0 REQUIRE(o.template get() == check);
0 0 REQUIRE(o.template get() == check);
2 0 REQUIRE(o.template get() == check);
2 0 REQUIRE(o.template get() == check);
2 0 REQUIRE(o.template get() == check);
2 0 REQUIRE(o.template get() == check);
2 0 REQUIRE(o.template get() == check);
0 0 REQUIRE(o.template get() == check);
0 0 REQUIRE(o.template get() == check);
160 0 0 TestClass o(sv, policy);
2 0 TestClass o(sv, policy);
161 0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
2 0 REQUIRE(!o);
2 0 REQUIRE(!o);
2 0 REQUIRE(!o);
2 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
162 0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
2 0 REQUIRE(SvREFCNT(check) == cnt);
2 0 REQUIRE(SvREFCNT(check) == cnt);
2 0 REQUIRE(SvREFCNT(check) == cnt);
2 0 REQUIRE(SvREFCNT(check) == cnt);
2 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
166 0 0 REQUIRE_THROWS_AS(TestClass(sv, policy), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(sv, policy), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(sv, policy), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(sv, policy), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(sv, policy), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(sv, policy), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(sv, policy), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(sv, policy), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(sv, policy), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(sv, policy), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(sv, policy), std::invalid_argument);
18 0 REQUIRE_THROWS_AS(TestClass(sv, policy), std::invalid_argument);
18 0 REQUIRE_THROWS_AS(TestClass(sv, policy), std::invalid_argument);
18 0 REQUIRE_THROWS_AS(TestClass(sv, policy), std::invalid_argument);
0 18 REQUIRE_THROWS_AS(TestClass(sv, policy), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(sv, policy), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(sv, policy), std::invalid_argument);
18 0 REQUIRE_THROWS_AS(TestClass(sv, policy), std::invalid_argument);
18 0 REQUIRE_THROWS_AS(TestClass(sv, policy), std::invalid_argument);
18 0 REQUIRE_THROWS_AS(TestClass(sv, policy), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(sv, policy), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(sv, policy), std::invalid_argument);
167 0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
18 0 REQUIRE(SvREFCNT(check) == cnt);
18 0 REQUIRE(SvREFCNT(check) == cnt);
18 0 REQUIRE(SvREFCNT(check) == cnt);
18 0 REQUIRE(SvREFCNT(check) == cnt);
18 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
171 2 0 REQUIRE(SvREFCNT(check) == cnt);
2 0 REQUIRE(SvREFCNT(check) == cnt);
2 0 REQUIRE(SvREFCNT(check) == cnt);
2 0 REQUIRE(SvREFCNT(check) == cnt);
2 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
22 0 REQUIRE(SvREFCNT(check) == cnt);
22 0 REQUIRE(SvREFCNT(check) == cnt);
22 0 REQUIRE(SvREFCNT(check) == cnt);
22 0 REQUIRE(SvREFCNT(check) == cnt);
22 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
182 1 0 TestClass o(std::forward(src));
1 0 TestClass o(std::forward(src));
1 0 TestClass o(std::forward(src));
183 1 0 REQUIRE(o);
1 0 REQUIRE(o);
1 0 REQUIRE(o);
1 0 REQUIRE(o);
0 0 REQUIRE(o);
0 0 REQUIRE(o);
1 0 REQUIRE(o);
1 0 REQUIRE(o);
1 0 REQUIRE(o);
1 0 REQUIRE(o);
0 0 REQUIRE(o);
0 0 REQUIRE(o);
1 0 REQUIRE(o);
1 0 REQUIRE(o);
1 0 REQUIRE(o);
1 0 REQUIRE(o);
0 0 REQUIRE(o);
0 0 REQUIRE(o);
1 0 REQUIRE(o);
1 0 REQUIRE(o);
1 0 REQUIRE(o);
1 0 REQUIRE(o);
0 0 REQUIRE(o);
0 0 REQUIRE(o);
188 0 0 TestClass o(std::forward(src));
0 0 TestClass o(std::forward(src));
0 0 TestClass o(std::forward(src));
189 0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
193 1 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
1 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
1 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 1 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
1 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
1 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
1 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
1 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
1 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
1 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 1 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
1 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
1 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
1 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(TestClass(std::forward(src)), std::invalid_argument);
196 2 0 if (move) REQUIRE(!src);
2 0 if (move) REQUIRE(!src);
2 0 if (move) REQUIRE(!src);
2 0 if (move) REQUIRE(!src);
2 0 if (move) REQUIRE(!src);
0 0 if (move) REQUIRE(!src);
0 0 if (move) REQUIRE(!src);
0 2 if (move) REQUIRE(!src);
0 0 if (move) REQUIRE(!src);
0 0 if (move) REQUIRE(!src);
0 0 if (move) REQUIRE(!src);
0 0 if (move) REQUIRE(!src);
0 0 if (move) REQUIRE(!src);
0 0 if (move) REQUIRE(!src);
1 0 if (move) REQUIRE(!src);
1 0 if (move) REQUIRE(!src);
1 0 if (move) REQUIRE(!src);
1 0 if (move) REQUIRE(!src);
1 0 if (move) REQUIRE(!src);
0 0 if (move) REQUIRE(!src);
0 0 if (move) REQUIRE(!src);
0 1 if (move) REQUIRE(!src);
0 0 if (move) REQUIRE(!src);
0 0 if (move) REQUIRE(!src);
0 0 if (move) REQUIRE(!src);
0 0 if (move) REQUIRE(!src);
0 0 if (move) REQUIRE(!src);
0 0 if (move) REQUIRE(!src);
197 0 0 else REQUIRE(src);
0 0 else REQUIRE(src);
0 0 else REQUIRE(src);
0 0 else REQUIRE(src);
0 0 else REQUIRE(src);
0 0 else REQUIRE(src);
2 0 else REQUIRE(src);
2 0 else REQUIRE(src);
2 0 else REQUIRE(src);
2 0 else REQUIRE(src);
0 0 else REQUIRE(src);
0 0 else REQUIRE(src);
0 0 else REQUIRE(src);
0 0 else REQUIRE(src);
0 0 else REQUIRE(src);
0 0 else REQUIRE(src);
0 0 else REQUIRE(src);
0 0 else REQUIRE(src);
1 0 else REQUIRE(src);
1 0 else REQUIRE(src);
1 0 else REQUIRE(src);
1 0 else REQUIRE(src);
0 0 else REQUIRE(src);
0 0 else REQUIRE(src);
200 2 0 REQUIRE(SvREFCNT(sv) == cnt-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt-move);
0 0 REQUIRE(SvREFCNT(sv) == cnt-move);
0 0 REQUIRE(SvREFCNT(sv) == cnt-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt-move);
0 0 REQUIRE(SvREFCNT(sv) == cnt-move);
0 0 REQUIRE(SvREFCNT(sv) == cnt-move);
1 0 REQUIRE(SvREFCNT(sv) == cnt-move);
1 0 REQUIRE(SvREFCNT(sv) == cnt-move);
1 0 REQUIRE(SvREFCNT(sv) == cnt-move);
1 0 REQUIRE(SvREFCNT(sv) == cnt-move);
1 0 REQUIRE(SvREFCNT(sv) == cnt-move);
0 0 REQUIRE(SvREFCNT(sv) == cnt-move);
0 0 REQUIRE(SvREFCNT(sv) == cnt-move);
1 0 REQUIRE(SvREFCNT(sv) == cnt-move);
1 0 REQUIRE(SvREFCNT(sv) == cnt-move);
1 0 REQUIRE(SvREFCNT(sv) == cnt-move);
1 0 REQUIRE(SvREFCNT(sv) == cnt-move);
1 0 REQUIRE(SvREFCNT(sv) == cnt-move);
0 0 REQUIRE(SvREFCNT(sv) == cnt-move);
0 0 REQUIRE(SvREFCNT(sv) == cnt-move);
205 2 0 if (!check) check = (TC*)sv;
22 0 if (!check) check = (TC*)sv;
207 1 1 auto src_cnt = src ? SvREFCNT(src) : 0;
11 11 auto src_cnt = src ? SvREFCNT(src) : 0;
210 2 0 TestClass o(co);
22 0 TestClass o(co);
213 2 0 o = sv;
2 0 o = sv;
214 2 0 REQUIRE(o);
2 0 REQUIRE(o);
2 0 REQUIRE(o);
2 0 REQUIRE(o);
0 0 REQUIRE(o);
0 0 REQUIRE(o);
2 0 REQUIRE(o);
2 0 REQUIRE(o);
2 0 REQUIRE(o);
2 0 REQUIRE(o);
0 0 REQUIRE(o);
0 0 REQUIRE(o);
215 2 0 REQUIRE(o.template get() == check);
2 0 REQUIRE(o.template get() == check);
2 0 REQUIRE(o.template get() == check);
2 0 REQUIRE(o.template get() == check);
2 0 REQUIRE(o.template get() == check);
0 0 REQUIRE(o.template get() == check);
0 0 REQUIRE(o.template get() == check);
2 0 REQUIRE(o.template get() == check);
2 0 REQUIRE(o.template get() == check);
2 0 REQUIRE(o.template get() == check);
2 0 REQUIRE(o.template get() == check);
2 0 REQUIRE(o.template get() == check);
0 0 REQUIRE(o.template get() == check);
0 0 REQUIRE(o.template get() == check);
216 2 0 REQUIRE(SvREFCNT(check) == cnt + 1);
2 0 REQUIRE(SvREFCNT(check) == cnt + 1);
2 0 REQUIRE(SvREFCNT(check) == cnt + 1);
2 0 REQUIRE(SvREFCNT(check) == cnt + 1);
2 0 REQUIRE(SvREFCNT(check) == cnt + 1);
0 0 REQUIRE(SvREFCNT(check) == cnt + 1);
0 0 REQUIRE(SvREFCNT(check) == cnt + 1);
2 0 REQUIRE(SvREFCNT(check) == cnt + 1);
2 0 REQUIRE(SvREFCNT(check) == cnt + 1);
2 0 REQUIRE(SvREFCNT(check) == cnt + 1);
2 0 REQUIRE(SvREFCNT(check) == cnt + 1);
2 0 REQUIRE(SvREFCNT(check) == cnt + 1);
0 0 REQUIRE(SvREFCNT(check) == cnt + 1);
0 0 REQUIRE(SvREFCNT(check) == cnt + 1);
219 0 0 o = sv;
2 0 o = sv;
220 0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
2 0 REQUIRE(!o);
2 0 REQUIRE(!o);
2 0 REQUIRE(!o);
2 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
221 0 0 REQUIRE(o.template get() == nullptr);
0 0 REQUIRE(o.template get() == nullptr);
0 0 REQUIRE(o.template get() == nullptr);
0 0 REQUIRE(o.template get() == nullptr);
0 0 REQUIRE(o.template get() == nullptr);
0 0 REQUIRE(o.template get() == nullptr);
0 0 REQUIRE(o.template get() == nullptr);
2 0 REQUIRE(o.template get() == nullptr);
2 0 REQUIRE(o.template get() == nullptr);
2 0 REQUIRE(o.template get() == nullptr);
2 0 REQUIRE(o.template get() == nullptr);
2 0 REQUIRE(o.template get() == nullptr);
0 0 REQUIRE(o.template get() == nullptr);
0 0 REQUIRE(o.template get() == nullptr);
222 0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
2 0 REQUIRE(SvREFCNT(check) == cnt);
2 0 REQUIRE(SvREFCNT(check) == cnt);
2 0 REQUIRE(SvREFCNT(check) == cnt);
2 0 REQUIRE(SvREFCNT(check) == cnt);
2 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
225 0 0 REQUIRE_THROWS_AS(o = sv, std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = sv, std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = sv, std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = sv, std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = sv, std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = sv, std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = sv, std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = sv, std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = sv, std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = sv, std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = sv, std::invalid_argument);
18 0 REQUIRE_THROWS_AS(o = sv, std::invalid_argument);
18 0 REQUIRE_THROWS_AS(o = sv, std::invalid_argument);
18 0 REQUIRE_THROWS_AS(o = sv, std::invalid_argument);
0 18 REQUIRE_THROWS_AS(o = sv, std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = sv, std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = sv, std::invalid_argument);
18 0 REQUIRE_THROWS_AS(o = sv, std::invalid_argument);
18 0 REQUIRE_THROWS_AS(o = sv, std::invalid_argument);
18 0 REQUIRE_THROWS_AS(o = sv, std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = sv, std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = sv, std::invalid_argument);
226 0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
18 0 REQUIRE(SvREFCNT(check) == cnt);
18 0 REQUIRE(SvREFCNT(check) == cnt);
18 0 REQUIRE(SvREFCNT(check) == cnt);
18 0 REQUIRE(SvREFCNT(check) == cnt);
18 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
229 1 1 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
0 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
0 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
11 11 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
11 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
11 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
11 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
11 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
11 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
0 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
0 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
231 2 0 REQUIRE(SvREFCNT(check) == cnt);
2 0 REQUIRE(SvREFCNT(check) == cnt);
2 0 REQUIRE(SvREFCNT(check) == cnt);
2 0 REQUIRE(SvREFCNT(check) == cnt);
2 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
22 0 REQUIRE(SvREFCNT(check) == cnt);
22 0 REQUIRE(SvREFCNT(check) == cnt);
22 0 REQUIRE(SvREFCNT(check) == cnt);
22 0 REQUIRE(SvREFCNT(check) == cnt);
22 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
0 0 REQUIRE(SvREFCNT(check) == cnt);
232 1 1 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
0 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
0 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
11 11 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
11 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
11 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
11 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
11 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
11 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
0 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
0 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt);
239 2 2 auto src_cnt = src ? SvREFCNT(src) : 0;
2 2 auto src_cnt = src ? SvREFCNT(src) : 0;
1 1 auto src_cnt = src ? SvREFCNT(src) : 0;
1 1 auto src_cnt = src ? SvREFCNT(src) : 0;
242 4 0 TestClass o(co);
4 0 TestClass o(co);
2 0 TestClass o(co);
2 0 TestClass o(co);
245 2 0 o = std::forward(oth);
2 0 o = std::forward(oth);
2 0 o = std::forward(oth);
246 2 0 REQUIRE(o);
2 0 REQUIRE(o);
2 0 REQUIRE(o);
2 0 REQUIRE(o);
0 0 REQUIRE(o);
0 0 REQUIRE(o);
2 0 REQUIRE(o);
2 0 REQUIRE(o);
2 0 REQUIRE(o);
2 0 REQUIRE(o);
0 0 REQUIRE(o);
0 0 REQUIRE(o);
2 0 REQUIRE(o);
2 0 REQUIRE(o);
2 0 REQUIRE(o);
2 0 REQUIRE(o);
0 0 REQUIRE(o);
0 0 REQUIRE(o);
2 0 REQUIRE(o);
2 0 REQUIRE(o);
2 0 REQUIRE(o);
2 0 REQUIRE(o);
0 0 REQUIRE(o);
0 0 REQUIRE(o);
249 0 0 o = std::forward(oth);
0 0 o = std::forward(oth);
0 0 o = std::forward(oth);
250 0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
0 0 REQUIRE(!o);
253 2 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
2 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
2 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 2 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
2 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
2 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
2 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
2 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
2 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
2 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 2 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
2 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
2 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
2 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
0 0 REQUIRE_THROWS_AS(o = std::forward(oth), std::invalid_argument);
256 4 0 if (move) REQUIRE(oth.get() == src);
4 0 if (move) REQUIRE(oth.get() == src);
4 0 if (move) REQUIRE(oth.get() == src);
4 0 if (move) REQUIRE(oth.get() == src);
4 0 if (move) REQUIRE(oth.get() == src);
4 0 if (move) REQUIRE(oth.get() == src);
0 0 if (move) REQUIRE(oth.get() == src);
0 0 if (move) REQUIRE(oth.get() == src);
0 4 if (move) REQUIRE(oth.get() == src);
0 0 if (move) REQUIRE(oth.get() == src);
0 0 if (move) REQUIRE(oth.get() == src);
0 0 if (move) REQUIRE(oth.get() == src);
0 0 if (move) REQUIRE(oth.get() == src);
0 0 if (move) REQUIRE(oth.get() == src);
0 0 if (move) REQUIRE(oth.get() == src);
0 0 if (move) REQUIRE(oth.get() == src);
2 0 if (move) REQUIRE(oth.get() == src);
2 0 if (move) REQUIRE(oth.get() == src);
2 0 if (move) REQUIRE(oth.get() == src);
2 0 if (move) REQUIRE(oth.get() == src);
2 0 if (move) REQUIRE(oth.get() == src);
2 0 if (move) REQUIRE(oth.get() == src);
0 0 if (move) REQUIRE(oth.get() == src);
0 0 if (move) REQUIRE(oth.get() == src);
0 2 if (move) REQUIRE(oth.get() == src);
0 0 if (move) REQUIRE(oth.get() == src);
0 0 if (move) REQUIRE(oth.get() == src);
0 0 if (move) REQUIRE(oth.get() == src);
0 0 if (move) REQUIRE(oth.get() == src);
0 0 if (move) REQUIRE(oth.get() == src);
0 0 if (move) REQUIRE(oth.get() == src);
0 0 if (move) REQUIRE(oth.get() == src);
257 0 0 else REQUIRE(oth.get() == sv);
0 0 else REQUIRE(oth.get() == sv);
0 0 else REQUIRE(oth.get() == sv);
0 0 else REQUIRE(oth.get() == sv);
0 0 else REQUIRE(oth.get() == sv);
0 0 else REQUIRE(oth.get() == sv);
0 0 else REQUIRE(oth.get() == sv);
4 0 else REQUIRE(oth.get() == sv);
4 0 else REQUIRE(oth.get() == sv);
4 0 else REQUIRE(oth.get() == sv);
4 0 else REQUIRE(oth.get() == sv);
4 0 else REQUIRE(oth.get() == sv);
0 0 else REQUIRE(oth.get() == sv);
0 0 else REQUIRE(oth.get() == sv);
0 0 else REQUIRE(oth.get() == sv);
0 0 else REQUIRE(oth.get() == sv);
0 0 else REQUIRE(oth.get() == sv);
0 0 else REQUIRE(oth.get() == sv);
0 0 else REQUIRE(oth.get() == sv);
0 0 else REQUIRE(oth.get() == sv);
0 0 else REQUIRE(oth.get() == sv);
2 0 else REQUIRE(oth.get() == sv);
2 0 else REQUIRE(oth.get() == sv);
2 0 else REQUIRE(oth.get() == sv);
2 0 else REQUIRE(oth.get() == sv);
2 0 else REQUIRE(oth.get() == sv);
0 0 else REQUIRE(oth.get() == sv);
0 0 else REQUIRE(oth.get() == sv);
258 4 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
4 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
4 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
4 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
4 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
0 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
0 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
4 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
4 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
4 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
4 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
4 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
0 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
0 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
0 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
0 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
0 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
0 0 REQUIRE(SvREFCNT(sv) == cnt+(behaviour == behaviour_t::VALID)-move);
259 2 2 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
2 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
2 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
2 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
2 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
2 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
0 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
0 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
2 2 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
2 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
2 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
2 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
2 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
2 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
0 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
0 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
1 1 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
0 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
0 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
1 1 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
0 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
0 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
262 4 0 REQUIRE(SvREFCNT(sv) == cnt-move);
4 0 REQUIRE(SvREFCNT(sv) == cnt-move);
4 0 REQUIRE(SvREFCNT(sv) == cnt-move);
4 0 REQUIRE(SvREFCNT(sv) == cnt-move);
4 0 REQUIRE(SvREFCNT(sv) == cnt-move);
0 0 REQUIRE(SvREFCNT(sv) == cnt-move);
0 0 REQUIRE(SvREFCNT(sv) == cnt-move);
4 0 REQUIRE(SvREFCNT(sv) == cnt-move);
4 0 REQUIRE(SvREFCNT(sv) == cnt-move);
4 0 REQUIRE(SvREFCNT(sv) == cnt-move);
4 0 REQUIRE(SvREFCNT(sv) == cnt-move);
4 0 REQUIRE(SvREFCNT(sv) == cnt-move);
0 0 REQUIRE(SvREFCNT(sv) == cnt-move);
0 0 REQUIRE(SvREFCNT(sv) == cnt-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt-move);
0 0 REQUIRE(SvREFCNT(sv) == cnt-move);
0 0 REQUIRE(SvREFCNT(sv) == cnt-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt-move);
2 0 REQUIRE(SvREFCNT(sv) == cnt-move);
0 0 REQUIRE(SvREFCNT(sv) == cnt-move);
0 0 REQUIRE(SvREFCNT(sv) == cnt-move);
263 2 2 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
2 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
2 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
2 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
2 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
2 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
0 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
0 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
2 2 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
2 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
2 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
2 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
2 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
2 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
0 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
0 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
1 1 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
0 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
0 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
1 1 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
1 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
0 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);
0 0 if (src) REQUIRE(SvREFCNT(src) == src_cnt+move);