Mercurial > irccd
diff tests/src/irccdctl/cli-plugin-reload/main.cpp @ 815:28ff6cb5bf73
tests: add test_plugin_loader and broken_plugin, closes #932 @1h
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 16 Nov 2018 21:08:00 +0100 |
parents | 8460b4a34191 |
children | 06cc2f95f479 |
line wrap: on
line diff
--- a/tests/src/irccdctl/cli-plugin-reload/main.cpp Fri Nov 16 13:18:28 2018 +0100 +++ b/tests/src/irccdctl/cli-plugin-reload/main.cpp Fri Nov 16 21:08:00 2018 +0100 @@ -20,41 +20,26 @@ #include <boost/test/unit_test.hpp> #include <irccd/test/cli_fixture.hpp> -#include <irccd/test/mock.hpp> - -using irccd::test::cli_fixture; -using irccd::test::mock; +#include <irccd/test/mock_plugin.hpp> using irccd::daemon::bot; using irccd::daemon::plugin; +using irccd::test::cli_fixture; +using irccd::test::mock_plugin; + namespace irccd { namespace { -class reloadable_plugin : public mock, public plugin { -public: - reloadable_plugin() - : plugin("test") - { - } +class plugin_reload_fixture : public cli_fixture { +protected: + std::shared_ptr<mock_plugin> plugin_{new mock_plugin("test")}; - auto get_name() const noexcept -> std::string_view override - { - return "reload"; - } - - void handle_reload(bot&) override - { - push("handle_reload"); - } -}; - -class plugin_reload_fixture : public cli_fixture { -public: plugin_reload_fixture() : cli_fixture(IRCCDCTL_EXECUTABLE) { + bot_.plugins().add(plugin_); } }; @@ -62,9 +47,6 @@ BOOST_AUTO_TEST_CASE(simple) { - const auto plugin = std::make_shared<reloadable_plugin>(); - - bot_.plugins().add(plugin); start(); const auto [code, out, err] = exec({ "plugin-reload", "test" }); @@ -72,7 +54,7 @@ BOOST_TEST(!code); BOOST_TEST(out.size() == 0U); BOOST_TEST(err.size() == 0U); - BOOST_TEST(plugin->find("handle_reload").size() == 1U); + BOOST_TEST(plugin_->find("handle_reload").size() == 1U); } BOOST_AUTO_TEST_SUITE_END()