X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=tests%2Finit.cpp;h=0c4c47d94cfdd57bdd099183292da5eb3c66f088;hb=HEAD;hp=18b74381383c393bb2105b535346ce59cd1a43cf;hpb=5b6e7c40e213f4e78e51c84dba699249209f80b2;p=libsigrokflow.git diff --git a/tests/init.cpp b/tests/init.cpp index 18b7438..0c4c47d 100644 --- a/tests/init.cpp +++ b/tests/init.cpp @@ -22,10 +22,27 @@ TEST_CASE("init/deinit", "[init]") { + SECTION("Srf::init() before successful Gst::init() should throw") { + CHECK_THROWS(Srf::init()); + } + REQUIRE_NOTHROW(Gst::init()); SECTION("Srf::init() after successful Gst::init() should not throw") { CHECK_NOTHROW(Srf::init()); + SECTION("Multiple Srf::init() calls should throw") { + for (int i = 0; i < 10; ++i) + CHECK_THROWS(Srf::init()); + CHECK_NOTHROW(Srf::deinit()); + } + SECTION("Srf::deinit() should not throw") { + CHECK_NOTHROW(Srf::deinit()); + } + SECTION("Multiple Srf::deinit() calls should throw") { + CHECK_NOTHROW(Srf::deinit()); + for (int i = 0; i < 10; ++i) + CHECK_THROWS(Srf::deinit()); + } } REQUIRE_NOTHROW(Gst::deinit());