diff options
Diffstat (limited to 'test/sbuild/chroot/custom.cc')
-rw-r--r-- | test/sbuild/chroot/custom.cc | 211 |
1 files changed, 95 insertions, 116 deletions
diff --git a/test/sbuild/chroot/custom.cc b/test/sbuild/chroot/custom.cc index a5b462ba..801ec832 100644 --- a/test/sbuild/chroot/custom.cc +++ b/test/sbuild/chroot/custom.cc @@ -30,62 +30,32 @@ #include <algorithm> #include <set> -#include <cppunit/extensions/HelperMacros.h> - -using namespace CppUnit; - -class test_chroot_custom : public test_chroot_base +class ChrootCustom : public ChrootBase { - CPPUNIT_TEST_SUITE(test_chroot_custom); - CPPUNIT_TEST(test_directory); - CPPUNIT_TEST(test_chroot_type); - CPPUNIT_TEST(test_setup_env); - CPPUNIT_TEST(test_setup_keyfile); - CPPUNIT_TEST(test_session_flags1); - CPPUNIT_TEST(test_session_flags2); - CPPUNIT_TEST(test_session_flags3); - CPPUNIT_TEST(test_session_flags4); - CPPUNIT_TEST(test_print_details); - CPPUNIT_TEST(test_print_config); - CPPUNIT_TEST(test_run_setup_scripts); - CPPUNIT_TEST_SUITE_END(); - public: - test_chroot_custom(): - test_chroot_base("custom") + ChrootCustom(): + ChrootBase("custom") {} - void setUp() + void SetUp() { - test_chroot_base::setUp(); - CPPUNIT_ASSERT(chroot); - CPPUNIT_ASSERT(session); - CPPUNIT_ASSERT(!source); - CPPUNIT_ASSERT(!session_source); + ChrootBase::SetUp(); + ASSERT_NE(chroot, nullptr); + ASSERT_NE(session, nullptr); + ASSERT_EQ(source, nullptr); + ASSERT_EQ(session_source, nullptr); } virtual void setup_chroot_props (sbuild::chroot::chroot::ptr& chroot) { - test_chroot_base::setup_chroot_props(chroot); + ChrootBase::setup_chroot_props(chroot); sbuild::chroot::facet::userdata::ptr userdata = chroot->get_facet<sbuild::chroot::facet::userdata>(); - CPPUNIT_ASSERT(userdata); + ASSERT_NE(userdata, nullptr); userdata->set_data("custom.directory", "/srv/chroots/sid"); userdata->set_data("custom.options", "foobar"); } - void - test_directory() - { - CPPUNIT_ASSERT(chroot->get_path() == "/mnt/mount-location"); - CPPUNIT_ASSERT(chroot->get_mount_location() == "/mnt/mount-location"); - } - - void test_chroot_type() - { - CPPUNIT_ASSERT(chroot->get_chroot_type() == "custom"); - } - void setup_env_gen(sbuild::environment& expected) { setup_env_chroot(expected); @@ -99,98 +69,107 @@ public: expected.add("CUSTOM_DIRECTORY", "/srv/chroots/sid"); expected.add("CUSTOM_OPTIONS", "foobar"); } +}; - void test_setup_env() +TEST_F(ChrootCustom, Directory) { - sbuild::environment expected; - setup_env_gen(expected); - - test_chroot_base::test_setup_env(chroot, expected); + ASSERT_EQ(chroot->get_path(), "/mnt/mount-location"); + ASSERT_EQ(chroot->get_mount_location(), "/mnt/mount-location"); } - void test_setup_keyfile() - { - sbuild::keyfile expected; - std::string group = chroot->get_name(); - setup_keyfile_chroot(expected, group); - expected.set_value(group, "type", "custom"); - expected.set_value(group, "custom-session-purgeable", "false"); - expected.set_value(group, "custom.directory", "/srv/chroots/sid"); - expected.set_value(group, "custom.options", "foobar"); - - test_chroot_base::test_setup_keyfile - (chroot, expected, group); - } +TEST_F(ChrootCustom, Type) +{ + ASSERT_EQ(chroot->get_chroot_type(), "custom"); +} - void test_session_flags1() - { - CPPUNIT_ASSERT(chroot->get_session_flags() == - sbuild::chroot::facet::facet::SESSION_CREATE); - CPPUNIT_ASSERT(chroot->get_facet<sbuild::chroot::facet::session_clonable>()); - CPPUNIT_ASSERT(!chroot->get_facet<sbuild::chroot::facet::source_clonable>()); - } +TEST_F(ChrootCustom, SetupEnv) +{ + sbuild::environment expected; + setup_env_gen(expected); - void test_session_flags2() - { - sbuild::chroot::facet::custom::ptr custp = chroot->get_facet_strict<sbuild::chroot::facet::custom>(); - custp->set_session_cloneable(false); + ChrootBase::test_setup_env(chroot, expected); +} - CPPUNIT_ASSERT(chroot->get_session_flags() == - sbuild::chroot::facet::facet::SESSION_NOFLAGS); +TEST_F(ChrootCustom, SetupKeyfile) +{ + sbuild::keyfile expected; + std::string group = chroot->get_name(); + setup_keyfile_chroot(expected, group); + expected.set_value(group, "type", "custom"); + expected.set_value(group, "custom-session-purgeable", "false"); + expected.set_value(group, "custom.directory", "/srv/chroots/sid"); + expected.set_value(group, "custom.options", "foobar"); + + ChrootBase::test_setup_keyfile + (chroot, expected, group); +} + +TEST_F(ChrootCustom, SessionFlags1) +{ + ASSERT_EQ(chroot->get_session_flags(), + sbuild::chroot::facet::facet::SESSION_CREATE); - CPPUNIT_ASSERT(!chroot->get_facet<sbuild::chroot::facet::session_clonable>()); - CPPUNIT_ASSERT(!chroot->get_facet<sbuild::chroot::facet::source_clonable>()); - } + ASSERT_NE(chroot->get_facet<sbuild::chroot::facet::session_clonable>(), nullptr); + ASSERT_EQ(chroot->get_facet<sbuild::chroot::facet::source_clonable>(), nullptr); +} - void test_session_flags3() - { - sbuild::chroot::facet::custom::ptr custp = chroot->get_facet_strict<sbuild::chroot::facet::custom>(); - custp->set_source_cloneable(true); +TEST_F(ChrootCustom, SessionFlags2) +{ + sbuild::chroot::facet::custom::ptr custp = chroot->get_facet_strict<sbuild::chroot::facet::custom>(); + custp->set_session_cloneable(false); - CPPUNIT_ASSERT(chroot->get_session_flags() == - (sbuild::chroot::facet::facet::SESSION_CREATE|sbuild::chroot::facet::facet::SESSION_CLONE)); + ASSERT_EQ(chroot->get_session_flags(), + sbuild::chroot::facet::facet::SESSION_NOFLAGS); - CPPUNIT_ASSERT(chroot->get_facet<sbuild::chroot::facet::session_clonable>()); - CPPUNIT_ASSERT(chroot->get_facet<sbuild::chroot::facet::source_clonable>()); - } + ASSERT_EQ(chroot->get_facet<sbuild::chroot::facet::session_clonable>(), nullptr); + ASSERT_EQ(chroot->get_facet<sbuild::chroot::facet::source_clonable>(), nullptr); +} - void test_session_flags4() - { - sbuild::chroot::facet::custom::ptr custp = chroot->get_facet_strict<sbuild::chroot::facet::custom>(); - custp->set_session_cloneable(false); - custp->set_source_cloneable(true); +TEST_F(ChrootCustom, SessionFlags3) +{ + sbuild::chroot::facet::custom::ptr custp = chroot->get_facet_strict<sbuild::chroot::facet::custom>(); + custp->set_source_cloneable(true); - CPPUNIT_ASSERT(chroot->get_session_flags() == - sbuild::chroot::facet::facet::SESSION_CLONE); + ASSERT_EQ(chroot->get_session_flags(), + (sbuild::chroot::facet::facet::SESSION_CREATE|sbuild::chroot::facet::facet::SESSION_CLONE)); - CPPUNIT_ASSERT(!chroot->get_facet<sbuild::chroot::facet::session_clonable>()); - CPPUNIT_ASSERT(chroot->get_facet<sbuild::chroot::facet::source_clonable>()); - } + ASSERT_NE(chroot->get_facet<sbuild::chroot::facet::session_clonable>(), nullptr); + ASSERT_NE(chroot->get_facet<sbuild::chroot::facet::source_clonable>(), nullptr); +} - void test_print_details() - { - std::ostringstream os; - os << chroot; - // TODO: Compare output. - CPPUNIT_ASSERT(!os.str().empty()); - } +TEST_F(ChrootCustom, SessionFlags4) +{ + sbuild::chroot::facet::custom::ptr custp = chroot->get_facet_strict<sbuild::chroot::facet::custom>(); + custp->set_session_cloneable(false); + custp->set_source_cloneable(true); - void test_print_config() - { - std::ostringstream os; - sbuild::keyfile config; - config << chroot; - os << sbuild::keyfile_writer(config); - // TODO: Compare output. - CPPUNIT_ASSERT(!os.str().empty()); - } + ASSERT_EQ(chroot->get_session_flags(), + sbuild::chroot::facet::facet::SESSION_CLONE); - void test_run_setup_scripts() - { - CPPUNIT_ASSERT(chroot->get_run_setup_scripts()); - } + ASSERT_EQ(chroot->get_facet<sbuild::chroot::facet::session_clonable>(), nullptr); + ASSERT_NE(chroot->get_facet<sbuild::chroot::facet::source_clonable>(), nullptr); +} -}; +TEST_F(ChrootCustom, PrintDetails) +{ + std::ostringstream os; + os << chroot; + // TODO: Compare output. + ASSERT_FALSE(os.str().empty()); +} -CPPUNIT_TEST_SUITE_REGISTRATION(test_chroot_custom); +TEST_F(ChrootCustom, PrintConfig) +{ + std::ostringstream os; + sbuild::keyfile config; + config << chroot; + os << sbuild::keyfile_writer(config); + // TODO: Compare output. + ASSERT_FALSE(os.str().empty()); +} + +TEST_F(ChrootCustom, RunSetupScripts) +{ + ASSERT_TRUE(chroot->get_run_setup_scripts()); +} |