diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 3a6c7374e..6f9b831ed 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -1,10 +1,7 @@ name: Linux on: - push: - branches: - - master - - 'support/*' + push: {} pull_request: {} concurrency: diff --git a/test/base-json.cpp b/test/base-json.cpp index 0f7145fb8..7811a6963 100644 --- a/test/base-json.cpp +++ b/test/base-json.cpp @@ -8,6 +8,7 @@ #include "base/generator.hpp" #include "base/objectlock.hpp" #include "base/json.hpp" +#include "base/workqueue.hpp" #include #include #include @@ -151,4 +152,14 @@ BOOST_AUTO_TEST_CASE(invalid1) BOOST_CHECK_THROW(JsonDecode("{\"test\": \"test\""), std::exception); } +BOOST_AUTO_TEST_CASE(fail_in_workqueue) +{ + WorkQueue q; + //q.Enqueue([](){ JsonDecode(":)"); }); + q.Enqueue([](){ throw std::invalid_argument("wtf"); }); + q.Join(); + BOOST_CHECK(q.HasExceptions()); + BOOST_CHECK_EQUAL(q.GetExceptions().size(), 1); +} + BOOST_AUTO_TEST_SUITE_END()