| line |
true |
false |
branch |
|
8
|
16 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
16 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
16 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
16 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
16 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
16 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
0 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
0 |
0 |
REQUIRE(a.size() == l.size()); |
|
10
|
32 |
16 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
32 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
32 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
32 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
32 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
32 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
32 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
0 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
0 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
15
|
1 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
1 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
1 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
1 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
1 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
0 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
0 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
1 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
1 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
1 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
1 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
1 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
0 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
0 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
1 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
1 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
1 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
1 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
1 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
0 |
0 |
REQUIRE(a.size() == l.size()); |
|
|
0 |
0 |
REQUIRE(a.size() == l.size()); |
|
17
|
4 |
1 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
4 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
4 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
4 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
4 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
4 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
0 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
0 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
2 |
1 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
2 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
2 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
2 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
2 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
2 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
0 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
0 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
3 |
1 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
3 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
3 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
3 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
3 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
3 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
0 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
|
0 |
0 |
for (size_t i = 0; i < l.size(); ++i) CHECK(a[i] == chk[i]); |
|
21
|
103 |
0 |
perlvars vars; |
|
22
|
103 |
0 |
Sub my(vars.cv); |
|
25
|
103 |
0 |
SECTION("ctor") { |
|
|
103 |
0 |
SECTION("ctor") { |
|
|
103 |
0 |
SECTION("ctor") { |
|
|
103 |
0 |
SECTION("ctor") { |
|
|
34 |
69 |
SECTION("ctor") { |
|
26
|
34 |
0 |
SECTION("empty") { |
|
|
34 |
0 |
SECTION("empty") { |
|
|
34 |
0 |
SECTION("empty") { |
|
|
34 |
0 |
SECTION("empty") { |
|
|
1 |
33 |
SECTION("empty") { |
|
28
|
1 |
0 |
REQUIRE(!o); |
|
|
1 |
0 |
REQUIRE(!o); |
|
|
1 |
0 |
REQUIRE(!o); |
|
|
1 |
0 |
REQUIRE(!o); |
|
|
0 |
0 |
REQUIRE(!o); |
|
|
0 |
0 |
REQUIRE(!o); |
|
30
|
34 |
0 |
SECTION("SV") { |
|
|
34 |
0 |
SECTION("SV") { |
|
|
34 |
0 |
SECTION("SV") { |
|
|
34 |
0 |
SECTION("SV") { |
|
|
24 |
10 |
SECTION("SV") { |
|
31
|
24 |
0 |
SECTION("undef SV") { Test::ctor(vars.undef, behaviour_t::EMPTY); } |
|
|
24 |
0 |
SECTION("undef SV") { Test::ctor(vars.undef, behaviour_t::EMPTY); } |
|
|
24 |
0 |
SECTION("undef SV") { Test::ctor(vars.undef, behaviour_t::EMPTY); } |
|
|
24 |
0 |
SECTION("undef SV") { Test::ctor(vars.undef, behaviour_t::EMPTY); } |
|
|
2 |
22 |
SECTION("undef SV") { Test::ctor(vars.undef, behaviour_t::EMPTY); } |
|
|
2 |
0 |
SECTION("undef SV") { Test::ctor(vars.undef, behaviour_t::EMPTY); } |
|
32
|
24 |
0 |
SECTION("number SV") { Test::ctor(vars.iv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("number SV") { Test::ctor(vars.iv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("number SV") { Test::ctor(vars.iv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("number SV") { Test::ctor(vars.iv, behaviour_t::THROWS); } |
|
|
2 |
22 |
SECTION("number SV") { Test::ctor(vars.iv, behaviour_t::THROWS); } |
|
|
2 |
0 |
SECTION("number SV") { Test::ctor(vars.iv, behaviour_t::THROWS); } |
|
33
|
24 |
0 |
SECTION("string SV") { Test::ctor(vars.pv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("string SV") { Test::ctor(vars.pv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("string SV") { Test::ctor(vars.pv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("string SV") { Test::ctor(vars.pv, behaviour_t::THROWS); } |
|
|
2 |
22 |
SECTION("string SV") { Test::ctor(vars.pv, behaviour_t::THROWS); } |
|
|
2 |
0 |
SECTION("string SV") { Test::ctor(vars.pv, behaviour_t::THROWS); } |
|
34
|
24 |
0 |
SECTION("RV") { Test::ctor(vars.rv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("RV") { Test::ctor(vars.rv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("RV") { Test::ctor(vars.rv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("RV") { Test::ctor(vars.rv, behaviour_t::THROWS); } |
|
|
2 |
22 |
SECTION("RV") { Test::ctor(vars.rv, behaviour_t::THROWS); } |
|
|
2 |
0 |
SECTION("RV") { Test::ctor(vars.rv, behaviour_t::THROWS); } |
|
35
|
24 |
0 |
SECTION("RV-OAV") { Test::ctor(vars.oavr, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("RV-OAV") { Test::ctor(vars.oavr, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("RV-OAV") { Test::ctor(vars.oavr, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("RV-OAV") { Test::ctor(vars.oavr, behaviour_t::THROWS); } |
|
|
2 |
22 |
SECTION("RV-OAV") { Test::ctor(vars.oavr, behaviour_t::THROWS); } |
|
|
2 |
0 |
SECTION("RV-OAV") { Test::ctor(vars.oavr, behaviour_t::THROWS); } |
|
36
|
24 |
0 |
SECTION("RV-OHV") { Test::ctor(vars.ohvr, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("RV-OHV") { Test::ctor(vars.ohvr, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("RV-OHV") { Test::ctor(vars.ohvr, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("RV-OHV") { Test::ctor(vars.ohvr, behaviour_t::THROWS); } |
|
|
2 |
22 |
SECTION("RV-OHV") { Test::ctor(vars.ohvr, behaviour_t::THROWS); } |
|
|
2 |
0 |
SECTION("RV-OHV") { Test::ctor(vars.ohvr, behaviour_t::THROWS); } |
|
37
|
24 |
0 |
SECTION("RV-CV") { Test::ctor(vars.cvr, behaviour_t::VALID, (SV*)vars.cv); } |
|
|
24 |
0 |
SECTION("RV-CV") { Test::ctor(vars.cvr, behaviour_t::VALID, (SV*)vars.cv); } |
|
|
24 |
0 |
SECTION("RV-CV") { Test::ctor(vars.cvr, behaviour_t::VALID, (SV*)vars.cv); } |
|
|
24 |
0 |
SECTION("RV-CV") { Test::ctor(vars.cvr, behaviour_t::VALID, (SV*)vars.cv); } |
|
|
2 |
22 |
SECTION("RV-CV") { Test::ctor(vars.cvr, behaviour_t::VALID, (SV*)vars.cv); } |
|
|
2 |
0 |
SECTION("RV-CV") { Test::ctor(vars.cvr, behaviour_t::VALID, (SV*)vars.cv); } |
|
38
|
24 |
0 |
SECTION("AV") { Test::ctor((SV*)vars.av, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("AV") { Test::ctor((SV*)vars.av, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("AV") { Test::ctor((SV*)vars.av, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("AV") { Test::ctor((SV*)vars.av, behaviour_t::THROWS); } |
|
|
2 |
22 |
SECTION("AV") { Test::ctor((SV*)vars.av, behaviour_t::THROWS); } |
|
|
2 |
0 |
SECTION("AV") { Test::ctor((SV*)vars.av, behaviour_t::THROWS); } |
|
39
|
24 |
0 |
SECTION("HV") { Test::ctor((SV*)vars.hv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("HV") { Test::ctor((SV*)vars.hv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("HV") { Test::ctor((SV*)vars.hv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("HV") { Test::ctor((SV*)vars.hv, behaviour_t::THROWS); } |
|
|
2 |
22 |
SECTION("HV") { Test::ctor((SV*)vars.hv, behaviour_t::THROWS); } |
|
|
2 |
0 |
SECTION("HV") { Test::ctor((SV*)vars.hv, behaviour_t::THROWS); } |
|
40
|
24 |
0 |
SECTION("CV") { Test::ctor((SV*)vars.cv, behaviour_t::VALID); } |
|
|
24 |
0 |
SECTION("CV") { Test::ctor((SV*)vars.cv, behaviour_t::VALID); } |
|
|
24 |
0 |
SECTION("CV") { Test::ctor((SV*)vars.cv, behaviour_t::VALID); } |
|
|
24 |
0 |
SECTION("CV") { Test::ctor((SV*)vars.cv, behaviour_t::VALID); } |
|
|
2 |
22 |
SECTION("CV") { Test::ctor((SV*)vars.cv, behaviour_t::VALID); } |
|
|
2 |
0 |
SECTION("CV") { Test::ctor((SV*)vars.cv, behaviour_t::VALID); } |
|
41
|
24 |
0 |
SECTION("GV") { Test::ctor((SV*)vars.gv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("GV") { Test::ctor((SV*)vars.gv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("GV") { Test::ctor((SV*)vars.gv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("GV") { Test::ctor((SV*)vars.gv, behaviour_t::THROWS); } |
|
|
2 |
22 |
SECTION("GV") { Test::ctor((SV*)vars.gv, behaviour_t::THROWS); } |
|
|
2 |
0 |
SECTION("GV") { Test::ctor((SV*)vars.gv, behaviour_t::THROWS); } |
|
42
|
24 |
0 |
SECTION("IO") { Test::ctor((SV*)vars.io, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("IO") { Test::ctor((SV*)vars.io, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("IO") { Test::ctor((SV*)vars.io, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("IO") { Test::ctor((SV*)vars.io, behaviour_t::THROWS); } |
|
|
2 |
22 |
SECTION("IO") { Test::ctor((SV*)vars.io, behaviour_t::THROWS); } |
|
|
2 |
0 |
SECTION("IO") { Test::ctor((SV*)vars.io, behaviour_t::THROWS); } |
|
44
|
34 |
0 |
SECTION("CV") { Test::ctor(vars.cv, behaviour_t::VALID); } |
|
|
34 |
0 |
SECTION("CV") { Test::ctor(vars.cv, behaviour_t::VALID); } |
|
|
34 |
0 |
SECTION("CV") { Test::ctor(vars.cv, behaviour_t::VALID); } |
|
|
34 |
0 |
SECTION("CV") { Test::ctor(vars.cv, behaviour_t::VALID); } |
|
|
2 |
32 |
SECTION("CV") { Test::ctor(vars.cv, behaviour_t::VALID); } |
|
|
2 |
0 |
SECTION("CV") { Test::ctor(vars.cv, behaviour_t::VALID); } |
|
46
|
34 |
0 |
SECTION("Sub") { Test::ctor(my, behaviour_t::VALID); } |
|
|
34 |
0 |
SECTION("Sub") { Test::ctor(my, behaviour_t::VALID); } |
|
|
34 |
0 |
SECTION("Sub") { Test::ctor(my, behaviour_t::VALID); } |
|
|
34 |
0 |
SECTION("Sub") { Test::ctor(my, behaviour_t::VALID); } |
|
|
2 |
32 |
SECTION("Sub") { Test::ctor(my, behaviour_t::VALID); } |
|
|
2 |
0 |
SECTION("Sub") { Test::ctor(my, behaviour_t::VALID); } |
|
47
|
34 |
0 |
SECTION("valid Sv") { Test::ctor(oth_valid, behaviour_t::VALID); } |
|
|
34 |
0 |
SECTION("valid Sv") { Test::ctor(oth_valid, behaviour_t::VALID); } |
|
|
34 |
0 |
SECTION("valid Sv") { Test::ctor(oth_valid, behaviour_t::VALID); } |
|
|
34 |
0 |
SECTION("valid Sv") { Test::ctor(oth_valid, behaviour_t::VALID); } |
|
|
2 |
32 |
SECTION("valid Sv") { Test::ctor(oth_valid, behaviour_t::VALID); } |
|
|
2 |
0 |
SECTION("valid Sv") { Test::ctor(oth_valid, behaviour_t::VALID); } |
|
48
|
34 |
0 |
SECTION("invalid Sv") { Test::ctor(oth_invalid, behaviour_t::THROWS); } |
|
|
34 |
0 |
SECTION("invalid Sv") { Test::ctor(oth_invalid, behaviour_t::THROWS); } |
|
|
34 |
0 |
SECTION("invalid Sv") { Test::ctor(oth_invalid, behaviour_t::THROWS); } |
|
|
34 |
0 |
SECTION("invalid Sv") { Test::ctor(oth_invalid, behaviour_t::THROWS); } |
|
|
2 |
32 |
SECTION("invalid Sv") { Test::ctor(oth_invalid, behaviour_t::THROWS); } |
|
|
2 |
0 |
SECTION("invalid Sv") { Test::ctor(oth_invalid, behaviour_t::THROWS); } |
|
50
|
34 |
0 |
SECTION("from string") { |
|
|
34 |
0 |
SECTION("from string") { |
|
|
34 |
0 |
SECTION("from string") { |
|
|
34 |
0 |
SECTION("from string") { |
|
|
1 |
33 |
SECTION("from string") { |
|
51
|
1 |
0 |
Sub c("M1::dummy2"); |
|
52
|
1 |
0 |
REQUIRE(c); |
|
|
1 |
0 |
REQUIRE(c); |
|
|
1 |
0 |
REQUIRE(c); |
|
|
1 |
0 |
REQUIRE(c); |
|
|
0 |
0 |
REQUIRE(c); |
|
|
0 |
0 |
REQUIRE(c); |
|
53
|
1 |
0 |
REQUIRE(c.get() == get_cv("M1::dummy2", 0)); |
|
|
1 |
0 |
REQUIRE(c.get() == get_cv("M1::dummy2", 0)); |
|
|
1 |
0 |
REQUIRE(c.get() == get_cv("M1::dummy2", 0)); |
|
|
1 |
0 |
REQUIRE(c.get() == get_cv("M1::dummy2", 0)); |
|
|
1 |
0 |
REQUIRE(c.get() == get_cv("M1::dummy2", 0)); |
|
|
1 |
0 |
REQUIRE(c.get() == get_cv("M1::dummy2", 0)); |
|
|
0 |
0 |
REQUIRE(c.get() == get_cv("M1::dummy2", 0)); |
|
|
0 |
0 |
REQUIRE(c.get() == get_cv("M1::dummy2", 0)); |
|
54
|
1 |
0 |
Sub c2("M1::nonexistent"); |
|
55
|
1 |
0 |
REQUIRE(!c2); |
|
|
1 |
0 |
REQUIRE(!c2); |
|
|
1 |
0 |
REQUIRE(!c2); |
|
|
1 |
0 |
REQUIRE(!c2); |
|
|
0 |
0 |
REQUIRE(!c2); |
|
|
0 |
0 |
REQUIRE(!c2); |
|
56
|
1 |
0 |
Sub c3("M1::nonexistent", GV_ADD); |
|
57
|
1 |
0 |
REQUIRE(c3); |
|
|
1 |
0 |
REQUIRE(c3); |
|
|
1 |
0 |
REQUIRE(c3); |
|
|
1 |
0 |
REQUIRE(c3); |
|
|
0 |
0 |
REQUIRE(c3); |
|
|
0 |
0 |
REQUIRE(c3); |
|
58
|
1 |
0 |
REQUIRE(c3.get() == get_cv("M1::nonexistent", 0)); |
|
|
1 |
0 |
REQUIRE(c3.get() == get_cv("M1::nonexistent", 0)); |
|
|
1 |
0 |
REQUIRE(c3.get() == get_cv("M1::nonexistent", 0)); |
|
|
1 |
0 |
REQUIRE(c3.get() == get_cv("M1::nonexistent", 0)); |
|
|
1 |
0 |
REQUIRE(c3.get() == get_cv("M1::nonexistent", 0)); |
|
|
1 |
0 |
REQUIRE(c3.get() == get_cv("M1::nonexistent", 0)); |
|
|
0 |
0 |
REQUIRE(c3.get() == get_cv("M1::nonexistent", 0)); |
|
|
0 |
0 |
REQUIRE(c3.get() == get_cv("M1::nonexistent", 0)); |
|
62
|
103 |
0 |
SECTION("operator=") { |
|
|
103 |
0 |
SECTION("operator=") { |
|
|
103 |
0 |
SECTION("operator=") { |
|
|
103 |
0 |
SECTION("operator=") { |
|
|
38 |
65 |
SECTION("operator=") { |
|
63
|
38 |
0 |
Sub o("M1::dummy2"); |
|
64
|
38 |
0 |
SECTION("SV") { |
|
|
38 |
0 |
SECTION("SV") { |
|
|
38 |
0 |
SECTION("SV") { |
|
|
38 |
0 |
SECTION("SV") { |
|
|
24 |
14 |
SECTION("SV") { |
|
65
|
24 |
0 |
SECTION("undef SV") { Test::assign(o, vars.undef, behaviour_t::EMPTY); } |
|
|
24 |
0 |
SECTION("undef SV") { Test::assign(o, vars.undef, behaviour_t::EMPTY); } |
|
|
24 |
0 |
SECTION("undef SV") { Test::assign(o, vars.undef, behaviour_t::EMPTY); } |
|
|
24 |
0 |
SECTION("undef SV") { Test::assign(o, vars.undef, behaviour_t::EMPTY); } |
|
|
2 |
22 |
SECTION("undef SV") { Test::assign(o, vars.undef, behaviour_t::EMPTY); } |
|
|
2 |
0 |
SECTION("undef SV") { Test::assign(o, vars.undef, behaviour_t::EMPTY); } |
|
66
|
24 |
0 |
SECTION("number SV") { Test::assign(o, vars.iv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("number SV") { Test::assign(o, vars.iv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("number SV") { Test::assign(o, vars.iv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("number SV") { Test::assign(o, vars.iv, behaviour_t::THROWS); } |
|
|
2 |
22 |
SECTION("number SV") { Test::assign(o, vars.iv, behaviour_t::THROWS); } |
|
|
2 |
0 |
SECTION("number SV") { Test::assign(o, vars.iv, behaviour_t::THROWS); } |
|
67
|
24 |
0 |
SECTION("string SV") { Test::assign(o, vars.pv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("string SV") { Test::assign(o, vars.pv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("string SV") { Test::assign(o, vars.pv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("string SV") { Test::assign(o, vars.pv, behaviour_t::THROWS); } |
|
|
2 |
22 |
SECTION("string SV") { Test::assign(o, vars.pv, behaviour_t::THROWS); } |
|
|
2 |
0 |
SECTION("string SV") { Test::assign(o, vars.pv, behaviour_t::THROWS); } |
|
68
|
24 |
0 |
SECTION("RV") { Test::assign(o, vars.rv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("RV") { Test::assign(o, vars.rv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("RV") { Test::assign(o, vars.rv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("RV") { Test::assign(o, vars.rv, behaviour_t::THROWS); } |
|
|
2 |
22 |
SECTION("RV") { Test::assign(o, vars.rv, behaviour_t::THROWS); } |
|
|
2 |
0 |
SECTION("RV") { Test::assign(o, vars.rv, behaviour_t::THROWS); } |
|
69
|
24 |
0 |
SECTION("RV-OAV") { Test::assign(o, vars.oavr, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("RV-OAV") { Test::assign(o, vars.oavr, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("RV-OAV") { Test::assign(o, vars.oavr, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("RV-OAV") { Test::assign(o, vars.oavr, behaviour_t::THROWS); } |
|
|
2 |
22 |
SECTION("RV-OAV") { Test::assign(o, vars.oavr, behaviour_t::THROWS); } |
|
|
2 |
0 |
SECTION("RV-OAV") { Test::assign(o, vars.oavr, behaviour_t::THROWS); } |
|
70
|
24 |
0 |
SECTION("RV-OHV") { Test::assign(o, vars.ohvr, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("RV-OHV") { Test::assign(o, vars.ohvr, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("RV-OHV") { Test::assign(o, vars.ohvr, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("RV-OHV") { Test::assign(o, vars.ohvr, behaviour_t::THROWS); } |
|
|
2 |
22 |
SECTION("RV-OHV") { Test::assign(o, vars.ohvr, behaviour_t::THROWS); } |
|
|
2 |
0 |
SECTION("RV-OHV") { Test::assign(o, vars.ohvr, behaviour_t::THROWS); } |
|
71
|
24 |
0 |
SECTION("RV-CV") { Test::assign(o, vars.cvr, behaviour_t::VALID, (SV*)vars.cv); } |
|
|
24 |
0 |
SECTION("RV-CV") { Test::assign(o, vars.cvr, behaviour_t::VALID, (SV*)vars.cv); } |
|
|
24 |
0 |
SECTION("RV-CV") { Test::assign(o, vars.cvr, behaviour_t::VALID, (SV*)vars.cv); } |
|
|
24 |
0 |
SECTION("RV-CV") { Test::assign(o, vars.cvr, behaviour_t::VALID, (SV*)vars.cv); } |
|
|
2 |
22 |
SECTION("RV-CV") { Test::assign(o, vars.cvr, behaviour_t::VALID, (SV*)vars.cv); } |
|
|
2 |
0 |
SECTION("RV-CV") { Test::assign(o, vars.cvr, behaviour_t::VALID, (SV*)vars.cv); } |
|
72
|
24 |
0 |
SECTION("AV") { Test::assign(o, (SV*)vars.av, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("AV") { Test::assign(o, (SV*)vars.av, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("AV") { Test::assign(o, (SV*)vars.av, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("AV") { Test::assign(o, (SV*)vars.av, behaviour_t::THROWS); } |
|
|
2 |
22 |
SECTION("AV") { Test::assign(o, (SV*)vars.av, behaviour_t::THROWS); } |
|
|
2 |
0 |
SECTION("AV") { Test::assign(o, (SV*)vars.av, behaviour_t::THROWS); } |
|
73
|
24 |
0 |
SECTION("HV") { Test::assign(o, (SV*)vars.hv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("HV") { Test::assign(o, (SV*)vars.hv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("HV") { Test::assign(o, (SV*)vars.hv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("HV") { Test::assign(o, (SV*)vars.hv, behaviour_t::THROWS); } |
|
|
2 |
22 |
SECTION("HV") { Test::assign(o, (SV*)vars.hv, behaviour_t::THROWS); } |
|
|
2 |
0 |
SECTION("HV") { Test::assign(o, (SV*)vars.hv, behaviour_t::THROWS); } |
|
74
|
24 |
0 |
SECTION("CV") { Test::assign(o, (SV*)vars.cv, behaviour_t::VALID); } |
|
|
24 |
0 |
SECTION("CV") { Test::assign(o, (SV*)vars.cv, behaviour_t::VALID); } |
|
|
24 |
0 |
SECTION("CV") { Test::assign(o, (SV*)vars.cv, behaviour_t::VALID); } |
|
|
24 |
0 |
SECTION("CV") { Test::assign(o, (SV*)vars.cv, behaviour_t::VALID); } |
|
|
2 |
22 |
SECTION("CV") { Test::assign(o, (SV*)vars.cv, behaviour_t::VALID); } |
|
|
2 |
0 |
SECTION("CV") { Test::assign(o, (SV*)vars.cv, behaviour_t::VALID); } |
|
75
|
24 |
0 |
SECTION("GV") { Test::assign(o, (SV*)vars.gv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("GV") { Test::assign(o, (SV*)vars.gv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("GV") { Test::assign(o, (SV*)vars.gv, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("GV") { Test::assign(o, (SV*)vars.gv, behaviour_t::THROWS); } |
|
|
2 |
22 |
SECTION("GV") { Test::assign(o, (SV*)vars.gv, behaviour_t::THROWS); } |
|
|
2 |
0 |
SECTION("GV") { Test::assign(o, (SV*)vars.gv, behaviour_t::THROWS); } |
|
76
|
24 |
0 |
SECTION("IO") { Test::assign(o, (SV*)vars.io, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("IO") { Test::assign(o, (SV*)vars.io, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("IO") { Test::assign(o, (SV*)vars.io, behaviour_t::THROWS); } |
|
|
24 |
0 |
SECTION("IO") { Test::assign(o, (SV*)vars.io, behaviour_t::THROWS); } |
|
|
2 |
22 |
SECTION("IO") { Test::assign(o, (SV*)vars.io, behaviour_t::THROWS); } |
|
|
2 |
0 |
SECTION("IO") { Test::assign(o, (SV*)vars.io, behaviour_t::THROWS); } |
|
78
|
38 |
0 |
SECTION("CV") { Test::assign(o, vars.cv, behaviour_t::VALID); } |
|
|
38 |
0 |
SECTION("CV") { Test::assign(o, vars.cv, behaviour_t::VALID); } |
|
|
38 |
0 |
SECTION("CV") { Test::assign(o, vars.cv, behaviour_t::VALID); } |
|
|
38 |
0 |
SECTION("CV") { Test::assign(o, vars.cv, behaviour_t::VALID); } |
|
|
2 |
36 |
SECTION("CV") { Test::assign(o, vars.cv, behaviour_t::VALID); } |
|
|
2 |
0 |
SECTION("CV") { Test::assign(o, vars.cv, behaviour_t::VALID); } |
|
79
|
38 |
0 |
SECTION("Sub") { Test::assign(o, my, behaviour_t::VALID); } |
|
|
38 |
0 |
SECTION("Sub") { Test::assign(o, my, behaviour_t::VALID); } |
|
|
38 |
0 |
SECTION("Sub") { Test::assign(o, my, behaviour_t::VALID); } |
|
|
38 |
0 |
SECTION("Sub") { Test::assign(o, my, behaviour_t::VALID); } |
|
|
4 |
34 |
SECTION("Sub") { Test::assign(o, my, behaviour_t::VALID); } |
|
|
4 |
0 |
SECTION("Sub") { Test::assign(o, my, behaviour_t::VALID); } |
|
80
|
38 |
0 |
SECTION("valid Sv") { Test::assign(o, oth_valid, behaviour_t::VALID); } |
|
|
38 |
0 |
SECTION("valid Sv") { Test::assign(o, oth_valid, behaviour_t::VALID); } |
|
|
38 |
0 |
SECTION("valid Sv") { Test::assign(o, oth_valid, behaviour_t::VALID); } |
|
|
38 |
0 |
SECTION("valid Sv") { Test::assign(o, oth_valid, behaviour_t::VALID); } |
|
|
4 |
34 |
SECTION("valid Sv") { Test::assign(o, oth_valid, behaviour_t::VALID); } |
|
|
4 |
0 |
SECTION("valid Sv") { Test::assign(o, oth_valid, behaviour_t::VALID); } |
|
81
|
38 |
0 |
SECTION("invalid Sv") { Test::assign(o, oth_invalid, behaviour_t::THROWS); } |
|
|
38 |
0 |
SECTION("invalid Sv") { Test::assign(o, oth_invalid, behaviour_t::THROWS); } |
|
|
38 |
0 |
SECTION("invalid Sv") { Test::assign(o, oth_invalid, behaviour_t::THROWS); } |
|
|
38 |
0 |
SECTION("invalid Sv") { Test::assign(o, oth_invalid, behaviour_t::THROWS); } |
|
|
4 |
34 |
SECTION("invalid Sv") { Test::assign(o, oth_invalid, behaviour_t::THROWS); } |
|
|
4 |
0 |
SECTION("invalid Sv") { Test::assign(o, oth_invalid, behaviour_t::THROWS); } |
|
84
|
103 |
0 |
SECTION("set") { |
|
|
103 |
0 |
SECTION("set") { |
|
|
103 |
0 |
SECTION("set") { |
|
|
103 |
0 |
SECTION("set") { |
|
|
1 |
102 |
SECTION("set") { |
|
86
|
1 |
0 |
o.set(vars.iv); // no checks |
|
87
|
1 |
0 |
REQUIRE(o); |
|
|
1 |
0 |
REQUIRE(o); |
|
|
1 |
0 |
REQUIRE(o); |
|
|
1 |
0 |
REQUIRE(o); |
|
|
0 |
0 |
REQUIRE(o); |
|
|
0 |
0 |
REQUIRE(o); |
|
88
|
1 |
0 |
REQUIRE(SvREFCNT(vars.iv) == 2); |
|
|
1 |
0 |
REQUIRE(SvREFCNT(vars.iv) == 2); |
|
|
1 |
0 |
REQUIRE(SvREFCNT(vars.iv) == 2); |
|
|
1 |
0 |
REQUIRE(SvREFCNT(vars.iv) == 2); |
|
|
1 |
0 |
REQUIRE(SvREFCNT(vars.iv) == 2); |
|
|
0 |
0 |
REQUIRE(SvREFCNT(vars.iv) == 2); |
|
|
0 |
0 |
REQUIRE(SvREFCNT(vars.iv) == 2); |
|
89
|
1 |
0 |
REQUIRE(o.get() == vars.iv); |
|
|
1 |
0 |
REQUIRE(o.get() == vars.iv); |
|
|
1 |
0 |
REQUIRE(o.get() == vars.iv); |
|
|
1 |
0 |
REQUIRE(o.get() == vars.iv); |
|
|
1 |
0 |
REQUIRE(o.get() == vars.iv); |
|
|
0 |
0 |
REQUIRE(o.get() == vars.iv); |
|
|
0 |
0 |
REQUIRE(o.get() == vars.iv); |
|
92
|
103 |
0 |
SECTION("cast") { |
|
|
103 |
0 |
SECTION("cast") { |
|
|
103 |
0 |
SECTION("cast") { |
|
|
103 |
0 |
SECTION("cast") { |
|
|
2 |
101 |
SECTION("cast") { |
|
93
|
2 |
0 |
Sub o(vars.cv); |
|
95
|
2 |
0 |
SECTION("to SV") { |
|
|
2 |
0 |
SECTION("to SV") { |
|
|
2 |
0 |
SECTION("to SV") { |
|
|
2 |
0 |
SECTION("to SV") { |
|
|
1 |
1 |
SECTION("to SV") { |
|
97
|
1 |
0 |
REQUIRE(sv == (SV*)vars.cv); |
|
|
1 |
0 |
REQUIRE(sv == (SV*)vars.cv); |
|
|
1 |
0 |
REQUIRE(sv == (SV*)vars.cv); |
|
|
1 |
0 |
REQUIRE(sv == (SV*)vars.cv); |
|
|
1 |
0 |
REQUIRE(sv == (SV*)vars.cv); |
|
|
0 |
0 |
REQUIRE(sv == (SV*)vars.cv); |
|
|
0 |
0 |
REQUIRE(sv == (SV*)vars.cv); |
|
98
|
1 |
0 |
REQUIRE(SvREFCNT(vars.cv) == rcnt); |
|
|
1 |
0 |
REQUIRE(SvREFCNT(vars.cv) == rcnt); |
|
|
1 |
0 |
REQUIRE(SvREFCNT(vars.cv) == rcnt); |
|
|
1 |
0 |
REQUIRE(SvREFCNT(vars.cv) == rcnt); |
|
|
1 |
0 |
REQUIRE(SvREFCNT(vars.cv) == rcnt); |
|
|
0 |
0 |
REQUIRE(SvREFCNT(vars.cv) == rcnt); |
|
|
0 |
0 |
REQUIRE(SvREFCNT(vars.cv) == rcnt); |
|
100
|
2 |
0 |
SECTION("to CV") { |
|
|
2 |
0 |
SECTION("to CV") { |
|
|
2 |
0 |
SECTION("to CV") { |
|
|
2 |
0 |
SECTION("to CV") { |
|
|
1 |
1 |
SECTION("to CV") { |
|
102
|
1 |
0 |
REQUIRE(sv == vars.cv); |
|
|
1 |
0 |
REQUIRE(sv == vars.cv); |
|
|
1 |
0 |
REQUIRE(sv == vars.cv); |
|
|
1 |
0 |
REQUIRE(sv == vars.cv); |
|
|
1 |
0 |
REQUIRE(sv == vars.cv); |
|
|
0 |
0 |
REQUIRE(sv == vars.cv); |
|
|
0 |
0 |
REQUIRE(sv == vars.cv); |
|
103
|
1 |
0 |
REQUIRE(SvREFCNT(vars.cv) == rcnt); |
|
|
1 |
0 |
REQUIRE(SvREFCNT(vars.cv) == rcnt); |
|
|
1 |
0 |
REQUIRE(SvREFCNT(vars.cv) == rcnt); |
|
|
1 |
0 |
REQUIRE(SvREFCNT(vars.cv) == rcnt); |
|
|
1 |
0 |
REQUIRE(SvREFCNT(vars.cv) == rcnt); |
|
|
0 |
0 |
REQUIRE(SvREFCNT(vars.cv) == rcnt); |
|
|
0 |
0 |
REQUIRE(SvREFCNT(vars.cv) == rcnt); |
|
107
|
103 |
0 |
SECTION("get") { |
|
|
103 |
0 |
SECTION("get") { |
|
|
103 |
0 |
SECTION("get") { |
|
|
103 |
0 |
SECTION("get") { |
|
|
1 |
102 |
SECTION("get") { |
|
108
|
1 |
0 |
Sub o(vars.cv); |
|
110
|
1 |
0 |
REQUIRE(o.get<>() == (SV*)vars.cv); |
|
|
1 |
0 |
REQUIRE(o.get<>() == (SV*)vars.cv); |
|
|
1 |
0 |
REQUIRE(o.get<>() == (SV*)vars.cv); |
|
|
1 |
0 |
REQUIRE(o.get<>() == (SV*)vars.cv); |
|
|
1 |
0 |
REQUIRE(o.get<>() == (SV*)vars.cv); |
|
|
0 |
0 |
REQUIRE(o.get<>() == (SV*)vars.cv); |
|
|
0 |
0 |
REQUIRE(o.get<>() == (SV*)vars.cv); |
|
111
|
1 |
0 |
REQUIRE(o.get() == (SV*)vars.cv); |
|
|
1 |
0 |
REQUIRE(o.get() == (SV*)vars.cv); |
|
|
1 |
0 |
REQUIRE(o.get() == (SV*)vars.cv); |
|
|
1 |
0 |
REQUIRE(o.get() == (SV*)vars.cv); |
|
|
1 |
0 |
REQUIRE(o.get() == (SV*)vars.cv); |
|
|
0 |
0 |
REQUIRE(o.get() == (SV*)vars.cv); |
|
|
0 |
0 |
REQUIRE(o.get() == (SV*)vars.cv); |
|
112
|
1 |
0 |
REQUIRE(o.get() == vars.cv); |
|
|
1 |
0 |
REQUIRE(o.get() == vars.cv); |
|
|
1 |
0 |
REQUIRE(o.get() == vars.cv); |
|
|
1 |
0 |
REQUIRE(o.get() == vars.cv); |
|
|
1 |
0 |
REQUIRE(o.get() == vars.cv); |
|
|
0 |
0 |
REQUIRE(o.get() == vars.cv); |
|
|
0 |
0 |
REQUIRE(o.get() == vars.cv); |
|
113
|
1 |
0 |
REQUIRE(SvREFCNT(vars.cv) == rcnt); |
|
|
1 |
0 |
REQUIRE(SvREFCNT(vars.cv) == rcnt); |
|
|
1 |
0 |
REQUIRE(SvREFCNT(vars.cv) == rcnt); |
|
|
1 |
0 |
REQUIRE(SvREFCNT(vars.cv) == rcnt); |
|
|
1 |
0 |
REQUIRE(SvREFCNT(vars.cv) == rcnt); |
|
|
0 |
0 |
REQUIRE(SvREFCNT(vars.cv) == rcnt); |
|
|
0 |
0 |
REQUIRE(SvREFCNT(vars.cv) == rcnt); |
|
116
|
103 |
0 |
SECTION("stash") { |
|
|
103 |
0 |
SECTION("stash") { |
|
|
103 |
0 |
SECTION("stash") { |
|
|
103 |
0 |
SECTION("stash") { |
|
|
1 |
102 |
SECTION("stash") { |
|
117
|
1 |
0 |
Sub o("M1::dummy"); |
|
118
|
1 |
0 |
REQUIRE(o.stash()); |
|
|
1 |
0 |
REQUIRE(o.stash()); |
|
|
1 |
0 |
REQUIRE(o.stash()); |
|
|
1 |
0 |
REQUIRE(o.stash()); |
|
|
1 |
0 |
REQUIRE(o.stash()); |
|
|
0 |
0 |
REQUIRE(o.stash()); |
|
|
0 |
0 |
REQUIRE(o.stash()); |
|
119
|
1 |
0 |
REQUIRE(o.stash() == gv_stashpvs("M1", 0)); |
|
|
1 |
0 |
REQUIRE(o.stash() == gv_stashpvs("M1", 0)); |
|
|
1 |
0 |
REQUIRE(o.stash() == gv_stashpvs("M1", 0)); |
|
|
1 |
0 |
REQUIRE(o.stash() == gv_stashpvs("M1", 0)); |
|
|
1 |
0 |
REQUIRE(o.stash() == gv_stashpvs("M1", 0)); |
|
|
1 |
0 |
REQUIRE(o.stash() == gv_stashpvs("M1", 0)); |
|
|
1 |
0 |
REQUIRE(o.stash() == gv_stashpvs("M1", 0)); |
|
|
0 |
0 |
REQUIRE(o.stash() == gv_stashpvs("M1", 0)); |
|
|
0 |
0 |
REQUIRE(o.stash() == gv_stashpvs("M1", 0)); |
|
122
|
103 |
0 |
SECTION("glob") { |
|
|
103 |
0 |
SECTION("glob") { |
|
|
103 |
0 |
SECTION("glob") { |
|
|
103 |
0 |
SECTION("glob") { |
|
|
1 |
102 |
SECTION("glob") { |
|
123
|
1 |
0 |
Sub o("M1::dummy"); |
|
124
|
1 |
0 |
REQUIRE(o.glob()); |
|
|
1 |
0 |
REQUIRE(o.glob()); |
|
|
1 |
0 |
REQUIRE(o.glob()); |
|
|
1 |
0 |
REQUIRE(o.glob()); |
|
|
1 |
0 |
REQUIRE(o.glob()); |
|
|
0 |
0 |
REQUIRE(o.glob()); |
|
|
0 |
0 |
REQUIRE(o.glob()); |
|
125
|
1 |
0 |
REQUIRE(o.glob() == Stash("M1")["dummy"]); |
|
|
1 |
0 |
REQUIRE(o.glob() == Stash("M1")["dummy"]); |
|
|
1 |
0 |
REQUIRE(o.glob() == Stash("M1")["dummy"]); |
|
|
1 |
0 |
REQUIRE(o.glob() == Stash("M1")["dummy"]); |
|
|
1 |
0 |
REQUIRE(o.glob() == Stash("M1")["dummy"]); |
|
|
1 |
0 |
REQUIRE(o.glob() == Stash("M1")["dummy"]); |
|
|
1 |
0 |
REQUIRE(o.glob() == Stash("M1")["dummy"]); |
|
|
1 |
0 |
REQUIRE(o.glob() == Stash("M1")["dummy"]); |
|
|
0 |
0 |
REQUIRE(o.glob() == Stash("M1")["dummy"]); |
|
|
0 |
0 |
REQUIRE(o.glob() == Stash("M1")["dummy"]); |
|
128
|
103 |
0 |
SECTION("name") { |
|
|
103 |
0 |
SECTION("name") { |
|
|
103 |
0 |
SECTION("name") { |
|
|
103 |
0 |
SECTION("name") { |
|
|
1 |
102 |
SECTION("name") { |
|
129
|
1 |
0 |
Sub o("M1::dummy"); |
|
130
|
1 |
0 |
REQUIRE(o.name() == "dummy"); |
|
|
1 |
0 |
REQUIRE(o.name() == "dummy"); |
|
|
1 |
0 |
REQUIRE(o.name() == "dummy"); |
|
|
1 |
0 |
REQUIRE(o.name() == "dummy"); |
|
|
1 |
0 |
REQUIRE(o.name() == "dummy"); |
|
|
1 |
0 |
REQUIRE(o.name() == "dummy"); |
|
|
0 |
0 |
REQUIRE(o.name() == "dummy"); |
|
|
0 |
0 |
REQUIRE(o.name() == "dummy"); |
|
133
|
103 |
0 |
SECTION("named") { |
|
|
103 |
0 |
SECTION("named") { |
|
|
103 |
0 |
SECTION("named") { |
|
|
103 |
0 |
SECTION("named") { |
|
|
1 |
102 |
SECTION("named") { |
|
134
|
1 |
0 |
Sub o("M1::dummy"); |
|
135
|
1 |
0 |
REQUIRE(!o.named()); |
|
|
1 |
0 |
REQUIRE(!o.named()); |
|
|
1 |
0 |
REQUIRE(!o.named()); |
|
|
1 |
0 |
REQUIRE(!o.named()); |
|
|
0 |
0 |
REQUIRE(!o.named()); |
|
|
0 |
0 |
REQUIRE(!o.named()); |
|
138
|
103 |
0 |
SECTION("call") { |
|
|
103 |
0 |
SECTION("call") { |
|
|
103 |
0 |
SECTION("call") { |
|
|
103 |
0 |
SECTION("call") { |
|
|
22 |
81 |
SECTION("call") { |
|
139
|
22 |
0 |
Stash s("M1"); |
|
140
|
22 |
0 |
Simple call_cnt = s.scalar("call_cnt"); |
|
|
22 |
0 |
Simple call_cnt = s.scalar("call_cnt"); |
|
141
|
22 |
0 |
Simple call_ret = s.scalar("call_ret"); |
|
|
22 |
0 |
Simple call_ret = s.scalar("call_ret"); |
|
142
|
22 |
0 |
call_cnt = 0; |
|
144
|
22 |
0 |
SECTION("args") { |
|
|
22 |
0 |
SECTION("args") { |
|
|
22 |
0 |
SECTION("args") { |
|
|
22 |
0 |
SECTION("args") { |
|
|
13 |
9 |
SECTION("args") { |
|
145
|
13 |
0 |
auto sub = s.sub("check_args"); |
|
146
|
13 |
0 |
SECTION("empty") { |
|
|
13 |
0 |
SECTION("empty") { |
|
|
13 |
0 |
SECTION("empty") { |
|
|
13 |
0 |
SECTION("empty") { |
|
|
1 |
12 |
SECTION("empty") { |
|
147
|
1 |
0 |
cmp_array(sub.call(), {}); |
|
|
1 |
0 |
cmp_array(sub.call(), {}); |
|
|
1 |
0 |
cmp_array(sub.call(), {}); |
|
148
|
1 |
0 |
CHECK(call_cnt == 1); |
|
|
1 |
0 |
CHECK(call_cnt == 1); |
|
|
1 |
0 |
CHECK(call_cnt == 1); |
|
|
1 |
0 |
CHECK(call_cnt == 1); |
|
|
1 |
0 |
CHECK(call_cnt == 1); |
|
|
0 |
0 |
CHECK(call_cnt == 1); |
|
|
0 |
0 |
CHECK(call_cnt == 1); |
|
149
|
1 |
0 |
cmp_array(sub(), {}); |
|
|
1 |
0 |
cmp_array(sub(), {}); |
|
|
1 |
0 |
cmp_array(sub(), {}); |
|
150
|
1 |
0 |
CHECK(call_cnt == 2); |
|
|
1 |
0 |
CHECK(call_cnt == 2); |
|
|
1 |
0 |
CHECK(call_cnt == 2); |
|
|
1 |
0 |
CHECK(call_cnt == 2); |
|
|
1 |
0 |
CHECK(call_cnt == 2); |
|
|
0 |
0 |
CHECK(call_cnt == 2); |
|
|
0 |
0 |
CHECK(call_cnt == 2); |
|
152
|
13 |
0 |
SECTION("SV*") { |
|
|
13 |
0 |
SECTION("SV*") { |
|
|
13 |
0 |
SECTION("SV*") { |
|
|
13 |
0 |
SECTION("SV*") { |
|
|
1 |
12 |
SECTION("SV*") { |
|
153
|
1 |
0 |
cmp_array(sub.call(Simple(999).get()), {999}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(999).get()), {999}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(999).get()), {999}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(999).get()), {999}); |
|
155
|
13 |
0 |
SECTION("SV**") { |
|
|
13 |
0 |
SECTION("SV**") { |
|
|
13 |
0 |
SECTION("SV**") { |
|
|
13 |
0 |
SECTION("SV**") { |
|
|
1 |
12 |
SECTION("SV**") { |
|
156
|
1 |
0 |
Simple arg1(100), arg2(200); |
|
|
1 |
0 |
Simple arg1(100), arg2(200); |
|
158
|
1 |
0 |
cmp_array(sub.call(args, 2), {100, 200}); |
|
|
1 |
0 |
cmp_array(sub.call(args, 2), {100, 200}); |
|
|
1 |
0 |
cmp_array(sub.call(args, 2), {100, 200}); |
|
160
|
13 |
0 |
SECTION("SV* + SV**") { |
|
|
13 |
0 |
SECTION("SV* + SV**") { |
|
|
13 |
0 |
SECTION("SV* + SV**") { |
|
|
13 |
0 |
SECTION("SV* + SV**") { |
|
|
1 |
12 |
SECTION("SV* + SV**") { |
|
161
|
1 |
0 |
Simple arg1(100), arg2(200), arg3(300); |
|
|
1 |
0 |
Simple arg1(100), arg2(200), arg3(300); |
|
|
1 |
0 |
Simple arg1(100), arg2(200), arg3(300); |
|
163
|
1 |
0 |
cmp_array(sub.call(Simple(100).get(), args, 2), {100, 200, 300}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(100).get(), args, 2), {100, 200, 300}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(100).get(), args, 2), {100, 200, 300}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(100).get(), args, 2), {100, 200, 300}); |
|
165
|
13 |
0 |
SECTION("const Scalar*") { |
|
|
13 |
0 |
SECTION("const Scalar*") { |
|
|
13 |
0 |
SECTION("const Scalar*") { |
|
|
13 |
0 |
SECTION("const Scalar*") { |
|
|
1 |
12 |
SECTION("const Scalar*") { |
|
|
0 |
0 |
SECTION("const Scalar*") { |
|
166
|
1 |
0 |
Scalar args[] = {Simple(111), Simple(222)}; |
|
|
1 |
0 |
Scalar args[] = {Simple(111), Simple(222)}; |
|
|
2 |
1 |
Scalar args[] = {Simple(111), Simple(222)}; |
|
|
0 |
0 |
Scalar args[] = {Simple(111), Simple(222)}; |
|
|
0 |
0 |
Scalar args[] = {Simple(111), Simple(222)}; |
|
167
|
1 |
0 |
cmp_array(sub.call(args, 2), {111, 222}); |
|
|
1 |
0 |
cmp_array(sub.call(args, 2), {111, 222}); |
|
|
1 |
0 |
cmp_array(sub.call(args, 2), {111, 222}); |
|
169
|
13 |
0 |
SECTION("SV* + const Scalar*") { |
|
|
13 |
0 |
SECTION("SV* + const Scalar*") { |
|
|
13 |
0 |
SECTION("SV* + const Scalar*") { |
|
|
13 |
0 |
SECTION("SV* + const Scalar*") { |
|
|
1 |
12 |
SECTION("SV* + const Scalar*") { |
|
|
0 |
0 |
SECTION("SV* + const Scalar*") { |
|
170
|
1 |
0 |
Scalar args[] = {Simple(111), Simple(222)}; |
|
|
1 |
0 |
Scalar args[] = {Simple(111), Simple(222)}; |
|
|
2 |
1 |
Scalar args[] = {Simple(111), Simple(222)}; |
|
|
0 |
0 |
Scalar args[] = {Simple(111), Simple(222)}; |
|
|
0 |
0 |
Scalar args[] = {Simple(111), Simple(222)}; |
|
171
|
1 |
0 |
cmp_array(sub.call(Simple(666).get(), args, 2), {666, 111, 222}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(666).get(), args, 2), {666, 111, 222}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(666).get(), args, 2), {666, 111, 222}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(666).get(), args, 2), {666, 111, 222}); |
|
173
|
13 |
0 |
SECTION("ilist") { |
|
|
13 |
0 |
SECTION("ilist") { |
|
|
13 |
0 |
SECTION("ilist") { |
|
|
13 |
0 |
SECTION("ilist") { |
|
|
1 |
12 |
SECTION("ilist") { |
|
|
0 |
0 |
SECTION("ilist") { |
|
174
|
1 |
0 |
std::initializer_list l = {Simple(123), Simple(321)}; |
|
|
1 |
0 |
std::initializer_list l = {Simple(123), Simple(321)}; |
|
|
2 |
1 |
std::initializer_list l = {Simple(123), Simple(321)}; |
|
|
0 |
0 |
std::initializer_list l = {Simple(123), Simple(321)}; |
|
|
0 |
0 |
std::initializer_list l = {Simple(123), Simple(321)}; |
|
175
|
1 |
0 |
cmp_array(sub.call(l), {123, 321}); |
|
|
1 |
0 |
cmp_array(sub.call(l), {123, 321}); |
|
|
1 |
0 |
cmp_array(sub.call(l), {123, 321}); |
|
177
|
13 |
0 |
SECTION("SV* + ilist") { |
|
|
13 |
0 |
SECTION("SV* + ilist") { |
|
|
13 |
0 |
SECTION("SV* + ilist") { |
|
|
13 |
0 |
SECTION("SV* + ilist") { |
|
|
1 |
12 |
SECTION("SV* + ilist") { |
|
|
0 |
0 |
SECTION("SV* + ilist") { |
|
178
|
1 |
0 |
std::initializer_list l = {Simple(300), Simple(400)}; |
|
|
1 |
0 |
std::initializer_list l = {Simple(300), Simple(400)}; |
|
|
2 |
1 |
std::initializer_list l = {Simple(300), Simple(400)}; |
|
|
0 |
0 |
std::initializer_list l = {Simple(300), Simple(400)}; |
|
|
0 |
0 |
std::initializer_list l = {Simple(300), Simple(400)}; |
|
179
|
1 |
0 |
cmp_array(sub.call(Simple(7).get(), l), {7, 300, 400}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(7).get(), l), {7, 300, 400}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(7).get(), l), {7, 300, 400}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(7).get(), l), {7, 300, 400}); |
|
181
|
13 |
0 |
SECTION("variadic-1") { |
|
|
13 |
0 |
SECTION("variadic-1") { |
|
|
13 |
0 |
SECTION("variadic-1") { |
|
|
13 |
0 |
SECTION("variadic-1") { |
|
|
1 |
12 |
SECTION("variadic-1") { |
|
182
|
1 |
0 |
Simple arg(10); |
|
183
|
1 |
0 |
cmp_array(sub.call(arg), {10}); |
|
|
1 |
0 |
cmp_array(sub.call(arg), {10}); |
|
|
1 |
0 |
cmp_array(sub.call(arg), {10}); |
|
184
|
1 |
0 |
CHECK(arg.use_count() == 1); // check for argument leaks |
|
|
1 |
0 |
CHECK(arg.use_count() == 1); // check for argument leaks |
|
|
1 |
0 |
CHECK(arg.use_count() == 1); // check for argument leaks |
|
|
1 |
0 |
CHECK(arg.use_count() == 1); // check for argument leaks |
|
|
1 |
0 |
CHECK(arg.use_count() == 1); // check for argument leaks |
|
|
0 |
0 |
CHECK(arg.use_count() == 1); // check for argument leaks |
|
|
0 |
0 |
CHECK(arg.use_count() == 1); // check for argument leaks |
|
186
|
13 |
0 |
SECTION("variadic-2") { |
|
|
13 |
0 |
SECTION("variadic-2") { |
|
|
13 |
0 |
SECTION("variadic-2") { |
|
|
13 |
0 |
SECTION("variadic-2") { |
|
|
1 |
12 |
SECTION("variadic-2") { |
|
187
|
1 |
0 |
cmp_array(sub.call(Simple(10), Simple(20)), {10, 20}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(10), Simple(20)), {10, 20}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(10), Simple(20)), {10, 20}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(10), Simple(20)), {10, 20}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(10), Simple(20)), {10, 20}); |
|
189
|
13 |
0 |
SECTION("variadic-3") { |
|
|
13 |
0 |
SECTION("variadic-3") { |
|
|
13 |
0 |
SECTION("variadic-3") { |
|
|
13 |
0 |
SECTION("variadic-3") { |
|
|
1 |
12 |
SECTION("variadic-3") { |
|
190
|
1 |
0 |
cmp_array(sub.call(Simple(10), Simple(20), Scalar(Simple(100))), {10, 20, 100}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(10), Simple(20), Scalar(Simple(100))), {10, 20, 100}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(10), Simple(20), Scalar(Simple(100))), {10, 20, 100}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(10), Simple(20), Scalar(Simple(100))), {10, 20, 100}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(10), Simple(20), Scalar(Simple(100))), {10, 20, 100}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(10), Simple(20), Scalar(Simple(100))), {10, 20, 100}); |
|
192
|
13 |
0 |
SECTION("variadic-4") { |
|
|
13 |
0 |
SECTION("variadic-4") { |
|
|
13 |
0 |
SECTION("variadic-4") { |
|
|
13 |
0 |
SECTION("variadic-4") { |
|
|
1 |
12 |
SECTION("variadic-4") { |
|
193
|
1 |
0 |
cmp_array(sub.call(Simple(10), Simple(20), Scalar(Simple(100)), Sv(Simple(200))), {10, 20, 100, 200}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(10), Simple(20), Scalar(Simple(100)), Sv(Simple(200))), {10, 20, 100, 200}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(10), Simple(20), Scalar(Simple(100)), Sv(Simple(200))), {10, 20, 100, 200}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(10), Simple(20), Scalar(Simple(100)), Sv(Simple(200))), {10, 20, 100, 200}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(10), Simple(20), Scalar(Simple(100)), Sv(Simple(200))), {10, 20, 100, 200}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(10), Simple(20), Scalar(Simple(100)), Sv(Simple(200))), {10, 20, 100, 200}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(10), Simple(20), Scalar(Simple(100)), Sv(Simple(200))), {10, 20, 100, 200}); |
|
195
|
13 |
0 |
SECTION("empty/nullptr -> undef") { |
|
|
13 |
0 |
SECTION("empty/nullptr -> undef") { |
|
|
13 |
0 |
SECTION("empty/nullptr -> undef") { |
|
|
13 |
0 |
SECTION("empty/nullptr -> undef") { |
|
|
1 |
12 |
SECTION("empty/nullptr -> undef") { |
|
196
|
1 |
0 |
Array ret = sub.call(Simple(10), nullptr, Simple()); |
|
|
1 |
0 |
Array ret = sub.call(Simple(10), nullptr, Simple()); |
|
|
1 |
0 |
Array ret = sub.call(Simple(10), nullptr, Simple()); |
|
197
|
1 |
0 |
CHECK(ret.use_count() == 1); // check for retval leaks |
|
|
1 |
0 |
CHECK(ret.use_count() == 1); // check for retval leaks |
|
|
1 |
0 |
CHECK(ret.use_count() == 1); // check for retval leaks |
|
|
1 |
0 |
CHECK(ret.use_count() == 1); // check for retval leaks |
|
|
1 |
0 |
CHECK(ret.use_count() == 1); // check for retval leaks |
|
|
0 |
0 |
CHECK(ret.use_count() == 1); // check for retval leaks |
|
|
0 |
0 |
CHECK(ret.use_count() == 1); // check for retval leaks |
|
198
|
1 |
0 |
REQUIRE(ret.size() == 3); |
|
|
1 |
0 |
REQUIRE(ret.size() == 3); |
|
|
1 |
0 |
REQUIRE(ret.size() == 3); |
|
|
1 |
0 |
REQUIRE(ret.size() == 3); |
|
|
1 |
0 |
REQUIRE(ret.size() == 3); |
|
|
1 |
0 |
REQUIRE(ret.size() == 3); |
|
|
0 |
0 |
REQUIRE(ret.size() == 3); |
|
|
0 |
0 |
REQUIRE(ret.size() == 3); |
|
199
|
1 |
0 |
CHECK(ret[0] == 10); |
|
|
1 |
0 |
CHECK(ret[0] == 10); |
|
|
1 |
0 |
CHECK(ret[0] == 10); |
|
|
1 |
0 |
CHECK(ret[0] == 10); |
|
|
1 |
0 |
CHECK(ret[0] == 10); |
|
|
1 |
0 |
CHECK(ret[0] == 10); |
|
|
0 |
0 |
CHECK(ret[0] == 10); |
|
|
0 |
0 |
CHECK(ret[0] == 10); |
|
200
|
1 |
0 |
CHECK(!ret[1].defined()); |
|
|
1 |
0 |
CHECK(!ret[1].defined()); |
|
|
1 |
0 |
CHECK(!ret[1].defined()); |
|
|
1 |
0 |
CHECK(!ret[1].defined()); |
|
|
1 |
0 |
CHECK(!ret[1].defined()); |
|
|
0 |
0 |
CHECK(!ret[1].defined()); |
|
|
0 |
0 |
CHECK(!ret[1].defined()); |
|
201
|
1 |
0 |
CHECK(!ret[2].defined()); |
|
|
1 |
0 |
CHECK(!ret[2].defined()); |
|
|
1 |
0 |
CHECK(!ret[2].defined()); |
|
|
1 |
0 |
CHECK(!ret[2].defined()); |
|
|
1 |
0 |
CHECK(!ret[2].defined()); |
|
|
0 |
0 |
CHECK(!ret[2].defined()); |
|
|
0 |
0 |
CHECK(!ret[2].defined()); |
|
205
|
22 |
0 |
SECTION("context") { |
|
|
22 |
0 |
SECTION("context") { |
|
|
22 |
0 |
SECTION("context") { |
|
|
22 |
0 |
SECTION("context") { |
|
|
8 |
14 |
SECTION("context") { |
|
206
|
8 |
0 |
auto sub = s.sub("check_context"); |
|
207
|
8 |
0 |
SECTION("void") { |
|
|
8 |
0 |
SECTION("void") { |
|
|
8 |
0 |
SECTION("void") { |
|
|
8 |
0 |
SECTION("void") { |
|
|
1 |
7 |
SECTION("void") { |
|
209
|
1 |
0 |
sub.call(Simple(333)); |
|
|
1 |
0 |
sub.call(Simple(333)); |
|
210
|
1 |
0 |
CHECK(call_cnt == 1); |
|
|
1 |
0 |
CHECK(call_cnt == 1); |
|
|
1 |
0 |
CHECK(call_cnt == 1); |
|
|
1 |
0 |
CHECK(call_cnt == 1); |
|
|
1 |
0 |
CHECK(call_cnt == 1); |
|
|
0 |
0 |
CHECK(call_cnt == 1); |
|
|
0 |
0 |
CHECK(call_cnt == 1); |
|
211
|
1 |
0 |
CHECK(call_ret == 333); |
|
|
1 |
0 |
CHECK(call_ret == 333); |
|
|
1 |
0 |
CHECK(call_ret == 333); |
|
|
1 |
0 |
CHECK(call_ret == 333); |
|
|
1 |
0 |
CHECK(call_ret == 333); |
|
|
0 |
0 |
CHECK(call_ret == 333); |
|
|
0 |
0 |
CHECK(call_ret == 333); |
|
213
|
8 |
0 |
SECTION("scalar") { |
|
|
8 |
0 |
SECTION("scalar") { |
|
|
8 |
0 |
SECTION("scalar") { |
|
|
8 |
0 |
SECTION("scalar") { |
|
|
1 |
7 |
SECTION("scalar") { |
|
217
|
1 |
0 |
CHECK(sub.call(Simple(999)) == 999); |
|
|
1 |
0 |
CHECK(sub.call(Simple(999)) == 999); |
|
|
1 |
0 |
CHECK(sub.call(Simple(999)) == 999); |
|
|
1 |
0 |
CHECK(sub.call(Simple(999)) == 999); |
|
|
1 |
0 |
CHECK(sub.call(Simple(999)) == 999); |
|
|
1 |
0 |
CHECK(sub.call(Simple(999)) == 999); |
|
|
1 |
0 |
CHECK(sub.call(Simple(999)) == 999); |
|
|
0 |
0 |
CHECK(sub.call(Simple(999)) == 999); |
|
|
0 |
0 |
CHECK(sub.call(Simple(999)) == 999); |
|
218
|
1 |
0 |
CHECK(sub.call(Simple(999), Simple(111)) == 999); |
|
|
1 |
0 |
CHECK(sub.call(Simple(999), Simple(111)) == 999); |
|
|
1 |
0 |
CHECK(sub.call(Simple(999), Simple(111)) == 999); |
|
|
1 |
0 |
CHECK(sub.call(Simple(999), Simple(111)) == 999); |
|
|
1 |
0 |
CHECK(sub.call(Simple(999), Simple(111)) == 999); |
|
|
1 |
0 |
CHECK(sub.call(Simple(999), Simple(111)) == 999); |
|
|
1 |
0 |
CHECK(sub.call(Simple(999), Simple(111)) == 999); |
|
|
1 |
0 |
CHECK(sub.call(Simple(999), Simple(111)) == 999); |
|
|
0 |
0 |
CHECK(sub.call(Simple(999), Simple(111)) == 999); |
|
|
0 |
0 |
CHECK(sub.call(Simple(999), Simple(111)) == 999); |
|
219
|
1 |
0 |
CHECK(!sub.call().defined()); |
|
|
1 |
0 |
CHECK(!sub.call().defined()); |
|
|
1 |
0 |
CHECK(!sub.call().defined()); |
|
|
1 |
0 |
CHECK(!sub.call().defined()); |
|
|
1 |
0 |
CHECK(!sub.call().defined()); |
|
|
0 |
0 |
CHECK(!sub.call().defined()); |
|
|
0 |
0 |
CHECK(!sub.call().defined()); |
|
221
|
8 |
0 |
SECTION("fixed-list array") { |
|
|
8 |
0 |
SECTION("fixed-list array") { |
|
|
8 |
0 |
SECTION("fixed-list array") { |
|
|
8 |
0 |
SECTION("fixed-list array") { |
|
|
1 |
7 |
SECTION("fixed-list array") { |
|
223
|
1 |
0 |
cmp_array(sub.call>(Simple(1), Simple(2), Simple(3)), {1,2,3}); |
|
|
1 |
0 |
cmp_array(sub.call>(Simple(1), Simple(2), Simple(3)), {1,2,3}); |
|
|
1 |
0 |
cmp_array(sub.call>(Simple(1), Simple(2), Simple(3)), {1,2,3}); |
|
|
1 |
0 |
cmp_array(sub.call>(Simple(1), Simple(2), Simple(3)), {1,2,3}); |
|
|
1 |
0 |
cmp_array(sub.call>(Simple(1), Simple(2), Simple(3)), {1,2,3}); |
|
224
|
1 |
0 |
cmp_array(sub.call>(Simple(4), Simple(5), Simple(6)), {4,5}); |
|
|
1 |
0 |
cmp_array(sub.call>(Simple(4), Simple(5), Simple(6)), {4,5}); |
|
|
1 |
0 |
cmp_array(sub.call>(Simple(4), Simple(5), Simple(6)), {4,5}); |
|
|
1 |
0 |
cmp_array(sub.call>(Simple(4), Simple(5), Simple(6)), {4,5}); |
|
|
1 |
0 |
cmp_array(sub.call>(Simple(4), Simple(5), Simple(6)), {4,5}); |
|
225
|
1 |
0 |
cmp_array(sub.call>(Simple(7), Simple(8), Simple(9)), {7,8,9,0}); |
|
|
1 |
0 |
cmp_array(sub.call>(Simple(7), Simple(8), Simple(9)), {7,8,9,0}); |
|
|
1 |
0 |
cmp_array(sub.call>(Simple(7), Simple(8), Simple(9)), {7,8,9,0}); |
|
|
1 |
0 |
cmp_array(sub.call>(Simple(7), Simple(8), Simple(9)), {7,8,9,0}); |
|
|
1 |
0 |
cmp_array(sub.call>(Simple(7), Simple(8), Simple(9)), {7,8,9,0}); |
|
227
|
8 |
0 |
SECTION("fixed-list tuple") { |
|
|
8 |
0 |
SECTION("fixed-list tuple") { |
|
|
8 |
0 |
SECTION("fixed-list tuple") { |
|
|
8 |
0 |
SECTION("fixed-list tuple") { |
|
|
2 |
6 |
SECTION("fixed-list tuple") { |
|
231
|
2 |
0 |
SECTION("explicit") { |
|
|
2 |
0 |
SECTION("explicit") { |
|
|
2 |
0 |
SECTION("explicit") { |
|
|
2 |
0 |
SECTION("explicit") { |
|
|
1 |
1 |
SECTION("explicit") { |
|
232
|
1 |
0 |
Tuple res = sub.call(Simple(10), Simple(20), Simple(30)); |
|
|
1 |
0 |
Tuple res = sub.call(Simple(10), Simple(20), Simple(30)); |
|
|
1 |
0 |
Tuple res = sub.call(Simple(10), Simple(20), Simple(30)); |
|
|
1 |
0 |
Tuple res = sub.call(Simple(10), Simple(20), Simple(30)); |
|
233
|
1 |
0 |
CHECK(Simple(std::get<0>(res)) == 10); |
|
|
1 |
0 |
CHECK(Simple(std::get<0>(res)) == 10); |
|
|
1 |
0 |
CHECK(Simple(std::get<0>(res)) == 10); |
|
|
1 |
0 |
CHECK(Simple(std::get<0>(res)) == 10); |
|
|
1 |
0 |
CHECK(Simple(std::get<0>(res)) == 10); |
|
|
1 |
0 |
CHECK(Simple(std::get<0>(res)) == 10); |
|
|
0 |
0 |
CHECK(Simple(std::get<0>(res)) == 10); |
|
|
0 |
0 |
CHECK(Simple(std::get<0>(res)) == 10); |
|
234
|
1 |
0 |
CHECK(std::get<1>(res) == 20); |
|
|
1 |
0 |
CHECK(std::get<1>(res) == 20); |
|
|
1 |
0 |
CHECK(std::get<1>(res) == 20); |
|
|
1 |
0 |
CHECK(std::get<1>(res) == 20); |
|
|
1 |
0 |
CHECK(std::get<1>(res) == 20); |
|
|
0 |
0 |
CHECK(std::get<1>(res) == 20); |
|
|
0 |
0 |
CHECK(std::get<1>(res) == 20); |
|
235
|
1 |
0 |
CHECK(std::get<2>(res) == 30); |
|
|
1 |
0 |
CHECK(std::get<2>(res) == 30); |
|
|
1 |
0 |
CHECK(std::get<2>(res) == 30); |
|
|
1 |
0 |
CHECK(std::get<2>(res) == 30); |
|
|
1 |
0 |
CHECK(std::get<2>(res) == 30); |
|
|
0 |
0 |
CHECK(std::get<2>(res) == 30); |
|
|
0 |
0 |
CHECK(std::get<2>(res) == 30); |
|
236
|
1 |
0 |
CHECK(!std::get<3>(res)); |
|
|
1 |
0 |
CHECK(!std::get<3>(res)); |
|
|
1 |
0 |
CHECK(!std::get<3>(res)); |
|
|
1 |
0 |
CHECK(!std::get<3>(res)); |
|
|
0 |
0 |
CHECK(!std::get<3>(res)); |
|
|
0 |
0 |
CHECK(!std::get<3>(res)); |
|
238
|
2 |
0 |
SECTION("implicit") { |
|
|
2 |
0 |
SECTION("implicit") { |
|
|
2 |
0 |
SECTION("implicit") { |
|
|
2 |
0 |
SECTION("implicit") { |
|
|
1 |
1 |
SECTION("implicit") { |
|
239
|
1 |
0 |
Tuple res = sub.call(Simple(50), Simple(60), Simple(70), Ref::create(Simple(111)), Simple(999)); |
|
|
1 |
0 |
Tuple res = sub.call(Simple(50), Simple(60), Simple(70), Ref::create(Simple(111)), Simple(999)); |
|
|
1 |
0 |
Tuple res = sub.call(Simple(50), Simple(60), Simple(70), Ref::create(Simple(111)), Simple(999)); |
|
|
1 |
0 |
Tuple res = sub.call(Simple(50), Simple(60), Simple(70), Ref::create(Simple(111)), Simple(999)); |
|
|
1 |
0 |
Tuple res = sub.call(Simple(50), Simple(60), Simple(70), Ref::create(Simple(111)), Simple(999)); |
|
|
1 |
0 |
Tuple res = sub.call(Simple(50), Simple(60), Simple(70), Ref::create(Simple(111)), Simple(999)); |
|
|
1 |
0 |
Tuple res = sub.call(Simple(50), Simple(60), Simple(70), Ref::create(Simple(111)), Simple(999)); |
|
240
|
1 |
0 |
CHECK(Simple(std::get<0>(res)) == 50); |
|
|
1 |
0 |
CHECK(Simple(std::get<0>(res)) == 50); |
|
|
1 |
0 |
CHECK(Simple(std::get<0>(res)) == 50); |
|
|
1 |
0 |
CHECK(Simple(std::get<0>(res)) == 50); |
|
|
1 |
0 |
CHECK(Simple(std::get<0>(res)) == 50); |
|
|
1 |
0 |
CHECK(Simple(std::get<0>(res)) == 50); |
|
|
0 |
0 |
CHECK(Simple(std::get<0>(res)) == 50); |
|
|
0 |
0 |
CHECK(Simple(std::get<0>(res)) == 50); |
|
241
|
1 |
0 |
CHECK(std::get<1>(res) == 60); |
|
|
1 |
0 |
CHECK(std::get<1>(res) == 60); |
|
|
1 |
0 |
CHECK(std::get<1>(res) == 60); |
|
|
1 |
0 |
CHECK(std::get<1>(res) == 60); |
|
|
1 |
0 |
CHECK(std::get<1>(res) == 60); |
|
|
0 |
0 |
CHECK(std::get<1>(res) == 60); |
|
|
0 |
0 |
CHECK(std::get<1>(res) == 60); |
|
242
|
1 |
0 |
CHECK(std::get<2>(res) == 70); |
|
|
1 |
0 |
CHECK(std::get<2>(res) == 70); |
|
|
1 |
0 |
CHECK(std::get<2>(res) == 70); |
|
|
1 |
0 |
CHECK(std::get<2>(res) == 70); |
|
|
1 |
0 |
CHECK(std::get<2>(res) == 70); |
|
|
0 |
0 |
CHECK(std::get<2>(res) == 70); |
|
|
0 |
0 |
CHECK(std::get<2>(res) == 70); |
|
243
|
1 |
0 |
auto ref = std::get<3>(res); |
|
244
|
1 |
0 |
CHECK(ref); |
|
|
1 |
0 |
CHECK(ref); |
|
|
1 |
0 |
CHECK(ref); |
|
|
1 |
0 |
CHECK(ref); |
|
|
0 |
0 |
CHECK(ref); |
|
|
0 |
0 |
CHECK(ref); |
|
245
|
1 |
0 |
CHECK(ref.value() == 111); |
|
|
1 |
0 |
CHECK(ref.value() == 111); |
|
|
1 |
0 |
CHECK(ref.value() == 111); |
|
|
1 |
0 |
CHECK(ref.value() == 111); |
|
|
1 |
0 |
CHECK(ref.value() == 111); |
|
|
1 |
0 |
CHECK(ref.value() == 111); |
|
|
0 |
0 |
CHECK(ref.value() == 111); |
|
|
0 |
0 |
CHECK(ref.value() == 111); |
|
248
|
8 |
0 |
SECTION("unlimited-list") { |
|
|
8 |
0 |
SECTION("unlimited-list") { |
|
|
8 |
0 |
SECTION("unlimited-list") { |
|
|
8 |
0 |
SECTION("unlimited-list") { |
|
|
1 |
7 |
SECTION("unlimited-list") { |
|
250
|
1 |
0 |
cmp_array(sub.call(Simple(10), Simple(20), Simple(30)), {10, 20, 30}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(10), Simple(20), Simple(30)), {10, 20, 30}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(10), Simple(20), Simple(30)), {10, 20, 30}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(10), Simple(20), Simple(30)), {10, 20, 30}); |
|
|
1 |
0 |
cmp_array(sub.call(Simple(10), Simple(20), Simple(30)), {10, 20, 30}); |
|
252
|
8 |
0 |
SECTION("panda::string") { |
|
|
8 |
0 |
SECTION("panda::string") { |
|
|
8 |
0 |
SECTION("panda::string") { |
|
|
8 |
0 |
SECTION("panda::string") { |
|
|
1 |
7 |
SECTION("panda::string") { |
|
254
|
1 |
0 |
auto str = sub.call(Simple("suka")); |
|
|
1 |
0 |
auto str = sub.call(Simple("suka")); |
|
255
|
1 |
0 |
CHECK(str == "suka"); |
|
|
1 |
0 |
CHECK(str == "suka"); |
|
|
1 |
0 |
CHECK(str == "suka"); |
|
|
1 |
0 |
CHECK(str == "suka"); |
|
|
1 |
0 |
CHECK(str == "suka"); |
|
|
0 |
0 |
CHECK(str == "suka"); |
|
|
0 |
0 |
CHECK(str == "suka"); |
|
257
|
8 |
0 |
SECTION("numeric") { |
|
|
8 |
0 |
SECTION("numeric") { |
|
|
8 |
0 |
SECTION("numeric") { |
|
|
8 |
0 |
SECTION("numeric") { |
|
|
1 |
7 |
SECTION("numeric") { |
|
260
|
1 |
0 |
CHECK(sub.call(Simple(200)) == 200); |
|
|
1 |
0 |
CHECK(sub.call(Simple(200)) == 200); |
|
|
1 |
0 |
CHECK(sub.call(Simple(200)) == 200); |
|
|
1 |
0 |
CHECK(sub.call(Simple(200)) == 200); |
|
|
1 |
0 |
CHECK(sub.call(Simple(200)) == 200); |
|
|
1 |
0 |
CHECK(sub.call(Simple(200)) == 200); |
|
|
1 |
0 |
CHECK(sub.call(Simple(200)) == 200); |
|
|
0 |
0 |
CHECK(sub.call(Simple(200)) == 200); |
|
|
0 |
0 |
CHECK(sub.call(Simple(200)) == 200); |
|
261
|
1 |
0 |
CHECK(sub.call(Simple(1.234)) == 1.234); |
|
|
1 |
0 |
CHECK(sub.call(Simple(1.234)) == 1.234); |
|
|
1 |
0 |
CHECK(sub.call(Simple(1.234)) == 1.234); |
|
|
1 |
0 |
CHECK(sub.call(Simple(1.234)) == 1.234); |
|
|
1 |
0 |
CHECK(sub.call(Simple(1.234)) == 1.234); |
|
|
1 |
0 |
CHECK(sub.call(Simple(1.234)) == 1.234); |
|
|
1 |
0 |
CHECK(sub.call(Simple(1.234)) == 1.234); |
|
|
0 |
0 |
CHECK(sub.call(Simple(1.234)) == 1.234); |
|
|
0 |
0 |
CHECK(sub.call(Simple(1.234)) == 1.234); |
|
262
|
1 |
0 |
CHECK(sub.call(Simple(1.234)) == 1); |
|
|
1 |
0 |
CHECK(sub.call(Simple(1.234)) == 1); |
|
|
1 |
0 |
CHECK(sub.call(Simple(1.234)) == 1); |
|
|
1 |
0 |
CHECK(sub.call(Simple(1.234)) == 1); |
|
|
1 |
0 |
CHECK(sub.call(Simple(1.234)) == 1); |
|
|
1 |
0 |
CHECK(sub.call(Simple(1.234)) == 1); |
|
|
1 |
0 |
CHECK(sub.call(Simple(1.234)) == 1); |
|
|
0 |
0 |
CHECK(sub.call(Simple(1.234)) == 1); |
|
|
0 |
0 |
CHECK(sub.call(Simple(1.234)) == 1); |
|
266
|
22 |
0 |
SECTION("call result as argument") { |
|
|
22 |
0 |
SECTION("call result as argument") { |
|
|
22 |
0 |
SECTION("call result as argument") { |
|
|
22 |
0 |
SECTION("call result as argument") { |
|
|
1 |
21 |
SECTION("call result as argument") { |
|
267
|
1 |
0 |
auto sub = s.sub("check_args"); |
|
268
|
1 |
0 |
Array ret = sub.call( sub.call(Simple(999)), sub.call(Simple(888), Simple(777)) ); |
|
|
1 |
0 |
Array ret = sub.call( sub.call(Simple(999)), sub.call(Simple(888), Simple(777)) ); |
|
|
1 |
0 |
Array ret = sub.call( sub.call(Simple(999)), sub.call(Simple(888), Simple(777)) ); |
|
|
1 |
0 |
Array ret = sub.call( sub.call(Simple(999)), sub.call(Simple(888), Simple(777)) ); |
|
|
1 |
0 |
Array ret = sub.call( sub.call(Simple(999)), sub.call(Simple(888), Simple(777)) ); |
|
|
1 |
0 |
Array ret = sub.call( sub.call(Simple(999)), sub.call(Simple(888), Simple(777)) ); |
|
|
1 |
0 |
Array ret = sub.call( sub.call(Simple(999)), sub.call(Simple(888), Simple(777)) ); |
|
269
|
1 |
0 |
cmp_array(ret[0], {999}); |
|
|
1 |
0 |
cmp_array(ret[0], {999}); |
|
|
1 |
0 |
cmp_array(ret[0], {999}); |
|
270
|
1 |
0 |
cmp_array(ret[1], {888, 777}); |
|
|
1 |
0 |
cmp_array(ret[1], {888, 777}); |
|
|
1 |
0 |
cmp_array(ret[1], {888, 777}); |
|
274
|
103 |
0 |
SECTION("super/super_strict") { |
|
|
103 |
0 |
SECTION("super/super_strict") { |
|
|
103 |
0 |
SECTION("super/super_strict") { |
|
|
103 |
0 |
SECTION("super/super_strict") { |
|
|
1 |
102 |
SECTION("super/super_strict") { |
|
275
|
1 |
0 |
Sub sub("M4::meth"); |
|
276
|
1 |
0 |
sub = sub.SUPER(); |
|
277
|
1 |
0 |
REQUIRE(sub == Sub("M2::meth")); |
|
|
1 |
0 |
REQUIRE(sub == Sub("M2::meth")); |
|
|
1 |
0 |
REQUIRE(sub == Sub("M2::meth")); |
|
|
1 |
0 |
REQUIRE(sub == Sub("M2::meth")); |
|
|
1 |
0 |
REQUIRE(sub == Sub("M2::meth")); |
|
|
1 |
0 |
REQUIRE(sub == Sub("M2::meth")); |
|
|
0 |
0 |
REQUIRE(sub == Sub("M2::meth")); |
|
|
0 |
0 |
REQUIRE(sub == Sub("M2::meth")); |
|
278
|
1 |
0 |
sub = sub.SUPER_strict(); |
|
279
|
1 |
0 |
REQUIRE(sub == Sub("M1::meth")); |
|
|
1 |
0 |
REQUIRE(sub == Sub("M1::meth")); |
|
|
1 |
0 |
REQUIRE(sub == Sub("M1::meth")); |
|
|
1 |
0 |
REQUIRE(sub == Sub("M1::meth")); |
|
|
1 |
0 |
REQUIRE(sub == Sub("M1::meth")); |
|
|
1 |
0 |
REQUIRE(sub == Sub("M1::meth")); |
|
|
0 |
0 |
REQUIRE(sub == Sub("M1::meth")); |
|
|
0 |
0 |
REQUIRE(sub == Sub("M1::meth")); |
|
280
|
1 |
0 |
REQUIRE(!sub.SUPER()); |
|
|
1 |
0 |
REQUIRE(!sub.SUPER()); |
|
|
1 |
0 |
REQUIRE(!sub.SUPER()); |
|
|
1 |
0 |
REQUIRE(!sub.SUPER()); |
|
|
1 |
0 |
REQUIRE(!sub.SUPER()); |
|
|
0 |
0 |
REQUIRE(!sub.SUPER()); |
|
|
0 |
0 |
REQUIRE(!sub.SUPER()); |
|
281
|
1 |
0 |
REQUIRE_THROWS(sub.SUPER_strict()); |
|
|
1 |
0 |
REQUIRE_THROWS(sub.SUPER_strict()); |
|
|
1 |
0 |
REQUIRE_THROWS(sub.SUPER_strict()); |
|
|
0 |
1 |
REQUIRE_THROWS(sub.SUPER_strict()); |
|
|
0 |
0 |
REQUIRE_THROWS(sub.SUPER_strict()); |
|
|
0 |
0 |
REQUIRE_THROWS(sub.SUPER_strict()); |
|
|
1 |
0 |
REQUIRE_THROWS(sub.SUPER_strict()); |
|
|
1 |
0 |
REQUIRE_THROWS(sub.SUPER_strict()); |
|
|
1 |
0 |
REQUIRE_THROWS(sub.SUPER_strict()); |
|
283
|
34 |
0 |
} |
|
|
34 |
0 |
} |