diff --git a/librepomgr/buildactions/buildaction.cpp b/librepomgr/buildactions/buildaction.cpp index 35f58d4..ec3a192 100644 --- a/librepomgr/buildactions/buildaction.cpp +++ b/librepomgr/buildactions/buildaction.cpp @@ -495,7 +495,7 @@ void BuildServiceCleanup::run() m_concreteCacheDirs.emplace_back(entry.path().filename().string(), std::move(canonical)); } } - } catch (const boost::filesystem::filesystem_error &e) { + } catch (const std::exception &e) { m_messages.errors.emplace_back(argsToString("unable to locate package cache directories: ", e.what())); } m_concreteCacheDirsIterator = m_concreteCacheDirs.begin(); diff --git a/librepomgr/tests/buildactions.cpp b/librepomgr/tests/buildactions.cpp index 99981d4..3815ff3 100644 --- a/librepomgr/tests/buildactions.cpp +++ b/librepomgr/tests/buildactions.cpp @@ -947,5 +947,10 @@ void BuildActionsTests::testBuildServiceCleanup() m_buildAction = std::make_shared(0, &m_setup); m_buildAction->type = BuildActionType::BuildServiceCleanup; runBuildAction("buildservice cleanup"); - CPPUNIT_ASSERT_EQUAL_MESSAGE("success", BuildActionResult::Success, m_buildAction->result); + CPPUNIT_ASSERT_EQUAL_MESSAGE("failure", BuildActionResult::Failure, m_buildAction->result); + const auto &messages = std::get(m_buildAction->resultData); + CPPUNIT_ASSERT_EQUAL_MESSAGE("one error", 1_st, messages.errors.size()); + TESTUTILS_ASSERT_LIKE("expected error", "unable to locate package cache directories:.*No such file or directory.*", messages.errors.front()); + CPPUNIT_ASSERT_EQUAL_MESSAGE("no warnings", std::vector(), messages.warnings); + CPPUNIT_ASSERT_EQUAL_MESSAGE("no notes", std::vector(), messages.notes); }