diff --git a/tests/test_class_sh_basic.cpp b/tests/test_class_sh_basic.cpp index d48aca9c24..a294f7bbb2 100644 --- a/tests/test_class_sh_basic.cpp +++ b/tests/test_class_sh_basic.cpp @@ -42,12 +42,12 @@ struct custom_deleter { return *this; } - custom_deleter(custom_deleter &&other) { + custom_deleter(custom_deleter &&other) noexcept { trace_txt = other.trace_txt + "_MvCtorTo"; other.trace_txt += "_MvCtorFrom"; } - custom_deleter &operator=(custom_deleter &&rhs) { + custom_deleter &operator=(custom_deleter &&rhs) noexcept { trace_txt = rhs.trace_txt + "_MvLhs"; rhs.trace_txt += "_MvRhs"; return *this; diff --git a/tests/test_class_sh_basic.py b/tests/test_class_sh_basic.py index b3e9709dd2..7be0747c2a 100644 --- a/tests/test_class_sh_basic.py +++ b/tests/test_class_sh_basic.py @@ -66,18 +66,32 @@ def test_load_with_rtrn_f(pass_f, rtrn_f, expected): @pytest.mark.parametrize( - ("pass_f", "rtrn_f", "expected"), + ("pass_f", "rtrn_f", "regex_expected"), [ - (m.pass_udmp_del, m.rtrn_udmp_del, "pass_udmp_del:rtrn_udmp_del,udmp_deleter_" + "_".join(["MvCtorTo"] * 6)), - (m.pass_udcp_del, m.rtrn_udcp_del, "pass_udcp_del:rtrn_udcp_del,udcp_deleter_" + "_".join(["MvCtorTo"] * 8)), - (m.pass_udmp_del_nd, m.rtrn_udmp_del_nd, - "pass_udmp_del_nd:rtrn_udmp_del_nd,udmp_deleter_nd_" + "_".join(["MvCtorTo"] * 6)), - (m.pass_udcp_del_nd, m.rtrn_udcp_del_nd, - "pass_udcp_del_nd:rtrn_udcp_del_nd,udcp_deleter_nd_" + "_".join(["MvCtorTo"] * 8)), + ( + m.pass_udmp_del, + m.rtrn_udmp_del, + "pass_udmp_del:rtrn_udmp_del,udmp_deleter(_MvCtorTo)*_MvCtorTo", + ), + ( + m.pass_udcp_del, + m.rtrn_udcp_del, + "pass_udcp_del:rtrn_udcp_del,udcp_deleter(_MvCtorTo)*_MvCtorTo", + ), + ( + m.pass_udmp_del_nd, + m.rtrn_udmp_del_nd, + "pass_udmp_del_nd:rtrn_udmp_del_nd,udmp_deleter_nd(_MvCtorTo)*_MvCtorTo", + ), + ( + m.pass_udcp_del_nd, + m.rtrn_udcp_del_nd, + "pass_udcp_del_nd:rtrn_udcp_del_nd,udcp_deleter_nd(_MvCtorTo)*_MvCtorTo", + ), ], ) -def test_deleter_roundtrip(pass_f, rtrn_f, expected): - assert pass_f(rtrn_f()) == expected +def test_deleter_roundtrip(pass_f, rtrn_f, regex_expected): + assert re.match(regex_expected, pass_f(rtrn_f())) @pytest.mark.parametrize(