summaryrefslogtreecommitdiff
path: root/test/sbuild/chroot/file.cc
diff options
context:
space:
mode:
Diffstat (limited to 'test/sbuild/chroot/file.cc')
-rw-r--r--test/sbuild/chroot/file.cc417
1 files changed, 194 insertions, 223 deletions
diff --git a/test/sbuild/chroot/file.cc b/test/sbuild/chroot/file.cc
index 20bda45f..07f694b2 100644
--- a/test/sbuild/chroot/file.cc
+++ b/test/sbuild/chroot/file.cc
@@ -27,108 +27,39 @@
#include <algorithm>
#include <set>
-#include <cppunit/extensions/HelperMacros.h>
-
-using namespace CppUnit;
-
using sbuild::_;
-class test_chroot_file : public test_chroot_base
+class ChrootFile : public ChrootBase
{
- CPPUNIT_TEST_SUITE(test_chroot_file);
- CPPUNIT_TEST(test_file);
- CPPUNIT_TEST(test_chroot_type);
- CPPUNIT_TEST(test_location);
- CPPUNIT_TEST_EXCEPTION(test_location_invalid, sbuild::chroot::chroot::error);
- CPPUNIT_TEST(test_repack);
- CPPUNIT_TEST(test_setup_env);
- CPPUNIT_TEST(test_setup_env_session);
- CPPUNIT_TEST(test_setup_env_source);
- CPPUNIT_TEST(test_setup_env_session_source);
- CPPUNIT_TEST(test_setup_keyfile);
- CPPUNIT_TEST(test_setup_keyfile_session);
- CPPUNIT_TEST(test_setup_keyfile_source);
- CPPUNIT_TEST(test_setup_keyfile_session_source);
- CPPUNIT_TEST(test_session_flags);
- CPPUNIT_TEST(test_print_details);
- CPPUNIT_TEST(test_print_config);
- CPPUNIT_TEST(test_run_setup_scripts);
- CPPUNIT_TEST_SUITE_END();
-
public:
- test_chroot_file():
- test_chroot_base("file")
+ ChrootFile():
+ ChrootBase("file")
{}
- 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_NE(source, nullptr);
+ ASSERT_NE(session_source, nullptr);
#ifdef SBUILD_FEATURE_UNION
- CPPUNIT_ASSERT(!chroot_union);
- CPPUNIT_ASSERT(!session_union);
- CPPUNIT_ASSERT(!source_union);
- CPPUNIT_ASSERT(!session_source_union);
+ ASSERT_EQ(chroot_union, nullptr);
+ ASSERT_EQ(session_union, nullptr);
+ ASSERT_EQ(source_union, nullptr);
+ ASSERT_EQ(session_source_union, nullptr);
#endif // SBUILD_FEATURE_UNION
}
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::file::ptr filefac = chroot->get_facet_strict<sbuild::chroot::facet::file>();
filefac->set_filename("/srv/chroot/example.tar.bz2");
filefac->set_location("/sid");
}
- void
- test_file()
- {
- sbuild::chroot::facet::file::ptr filefac = chroot->get_facet_strict<sbuild::chroot::facet::file>();
- filefac->set_filename("/srv/chroot-images/unstable.tar.gz");
- CPPUNIT_ASSERT(filefac->get_filename() == "/srv/chroot-images/unstable.tar.gz");
- }
-
- void test_chroot_type()
- {
- CPPUNIT_ASSERT(chroot->get_chroot_type() == "file");
- }
-
- void test_location()
- {
- sbuild::chroot::facet::file::ptr filefac = chroot->get_facet_strict<sbuild::chroot::facet::file>();
-
- filefac->set_location("");
- CPPUNIT_ASSERT(filefac->get_location() == "");
- CPPUNIT_ASSERT(filefac->get_path() == chroot->get_mount_location());
-
- filefac->set_location("/test");
- CPPUNIT_ASSERT(filefac->get_location() == "/test");
- CPPUNIT_ASSERT(filefac->get_path() == "/mnt/mount-location/test");
- }
-
- void test_location_invalid()
- {
- sbuild::chroot::facet::file::ptr filefac = chroot->get_facet_strict<sbuild::chroot::facet::file>();
-
- filefac->set_location("invalid");
- }
-
- void test_repack()
- {
- sbuild::chroot::facet::file::ptr filechrootfac = chroot->get_facet_strict<sbuild::chroot::facet::file>();
- sbuild::chroot::facet::file::ptr filesessionfac = session->get_facet_strict<sbuild::chroot::facet::file>();
- sbuild::chroot::facet::file::ptr filesourcefac = source->get_facet_strict<sbuild::chroot::facet::file>();
-
-
- CPPUNIT_ASSERT(filechrootfac->get_file_repack() == false);
- CPPUNIT_ASSERT(filesessionfac->get_file_repack() == false);
- CPPUNIT_ASSERT(filesourcefac->get_file_repack() == true);
- }
-
void setup_env_gen(sbuild::environment &expected)
{
setup_env_chroot(expected);
@@ -143,62 +74,7 @@ public:
expected.add("CHROOT_SESSION_CREATE", "true");
expected.add("CHROOT_SESSION_PURGE", "false");
- test_chroot_base::test_setup_env(chroot, expected);
- }
-
- void test_setup_env()
- {
- sbuild::environment expected;
- setup_env_gen(expected);
- expected.add("CHROOT_FILE_REPACK", "false");
- expected.add("CHROOT_SESSION_CLONE", "true");
- expected.add("CHROOT_SESSION_CREATE", "true");
- expected.add("CHROOT_SESSION_PURGE", "false");
-
- test_chroot_base::test_setup_env(chroot, expected);
- }
-
- void test_setup_env_session()
- {
- sbuild::environment expected;
- setup_env_gen(expected);
- expected.add("SESSION_ID", "test-session-name");
- expected.add("CHROOT_ALIAS", "test-session-name");
- expected.add("CHROOT_DESCRIPTION", chroot->get_description() + ' ' + _("(session chroot)"));
- expected.add("CHROOT_FILE_REPACK", "false");
- expected.add("CHROOT_SESSION_CLONE", "false");
- expected.add("CHROOT_SESSION_CREATE", "false");
- expected.add("CHROOT_SESSION_PURGE", "true");
-
- test_chroot_base::test_setup_env(session, expected);
- }
-
- void test_setup_env_source()
- {
- sbuild::environment expected;
- setup_env_gen(expected);
- expected.add("CHROOT_DESCRIPTION", chroot->get_description() + ' ' + _("(source chroot)"));
- expected.add("CHROOT_FILE_REPACK", "true");
- expected.add("CHROOT_SESSION_CLONE", "false");
- expected.add("CHROOT_SESSION_CREATE", "true");
- expected.add("CHROOT_SESSION_PURGE", "false");
-
- test_chroot_base::test_setup_env(source, expected);
- }
-
- void test_setup_env_session_source()
- {
- sbuild::environment expected;
- setup_env_gen(expected);
- expected.add("SESSION_ID", "test-session-name");
- expected.add("CHROOT_ALIAS", "test-session-name");
- expected.add("CHROOT_DESCRIPTION", chroot->get_description() + ' ' + _("(source chroot) (session chroot)"));
- expected.add("CHROOT_FILE_REPACK", "true");
- expected.add("CHROOT_SESSION_CLONE", "false");
- expected.add("CHROOT_SESSION_CREATE", "false");
- expected.add("CHROOT_SESSION_PURGE", "true");
-
- test_chroot_base::test_setup_env(session_source, expected);
+ ChrootBase::test_setup_env(chroot, expected);
}
void setup_keyfile_file(sbuild::keyfile &expected, const std::string group)
@@ -207,99 +83,194 @@ public:
expected.set_value(group, "file", "/srv/chroot/example.tar.bz2");
expected.set_value(group, "location", "/sid");
}
+};
- void test_setup_keyfile()
- {
- sbuild::keyfile expected;
- const std::string group(chroot->get_name());
- setup_keyfile_chroot(expected, group);
- setup_keyfile_source(expected, group);
- setup_keyfile_file(expected, group);
-
- test_chroot_base::test_setup_keyfile
- (chroot, expected, group);
- }
+TEST_F(ChrootFile, Filename)
+{
+ sbuild::chroot::facet::file::ptr filefac = chroot->get_facet_strict<sbuild::chroot::facet::file>();
+ filefac->set_filename("/srv/chroot-images/unstable.tar.gz");
+ ASSERT_EQ(filefac->get_filename(), "/srv/chroot-images/unstable.tar.gz");
+}
- void test_setup_keyfile_session()
- {
- sbuild::keyfile expected;
- const std::string group(session->get_name());
- setup_keyfile_session(expected, group);
- setup_keyfile_file(expected, group);
- expected.set_value(group, "name", "test-session-name");
- expected.set_value(group, "selected-name", "test-session-name");
- expected.set_value(group, "file-repack", "false");
- expected.set_value(group, "mount-location", "/mnt/mount-location");
- setup_keyfile_session_clone(expected, group);
-
- test_chroot_base::test_setup_keyfile
- (session, expected, group);
- }
+TEST_F(ChrootFile, Type)
+{
+ ASSERT_EQ(chroot->get_chroot_type(), "file");
+}
- void test_setup_keyfile_source()
- {
- sbuild::keyfile expected;
- const std::string group(source->get_name());
- setup_keyfile_chroot(expected, group);
- setup_keyfile_source_clone(expected, group);
- setup_keyfile_file(expected, group);
- expected.set_value(group, "description", chroot->get_description() + ' ' + _("(source chroot)"));
-
- test_chroot_base::test_setup_keyfile
- (source, expected, group);
- }
+TEST_F(ChrootFile, Location)
+{
+ sbuild::chroot::facet::file::ptr filefac = chroot->get_facet_strict<sbuild::chroot::facet::file>();
- void test_setup_keyfile_session_source()
- {
- sbuild::keyfile expected;
- const std::string group(source->get_name());
- setup_keyfile_chroot(expected, group);
- setup_keyfile_file(expected, group);
- setup_keyfile_session_source_clone(expected, group);
- expected.set_value(group, "description", chroot->get_description() + ' ' + _("(source chroot) (session chroot)"));
- expected.set_value(group, "file-repack", "true");
- expected.set_value(group, "mount-location", "/mnt/mount-location");
-
- test_chroot_base::test_setup_keyfile
- (session_source, expected, group);
- }
+ filefac->set_location("");
+ ASSERT_EQ(filefac->get_location(), "");
+ ASSERT_EQ(filefac->get_path(), chroot->get_mount_location());
- void test_session_flags()
- {
- CPPUNIT_ASSERT(chroot->get_session_flags() ==
- (sbuild::chroot::facet::facet::SESSION_CREATE |
- sbuild::chroot::facet::facet::SESSION_CLONE));
+ filefac->set_location("/test");
+ ASSERT_EQ(filefac->get_location(), "/test");
+ ASSERT_EQ(filefac->get_path(), "/mnt/mount-location/test");
+}
- CPPUNIT_ASSERT(session->get_session_flags() ==
- sbuild::chroot::facet::facet::SESSION_PURGE);
+TEST_F(ChrootFile, LocationInvalid)
+{
+ sbuild::chroot::facet::file::ptr filefac = chroot->get_facet_strict<sbuild::chroot::facet::file>();
- CPPUNIT_ASSERT(source->get_session_flags() ==
- sbuild::chroot::facet::facet::SESSION_CREATE);
- }
+ ASSERT_THROW(filefac->set_location("invalid"), sbuild::chroot::chroot::error);
+}
- void test_print_details()
- {
- std::ostringstream os;
- os << chroot;
- // TODO: Compare output.
- CPPUNIT_ASSERT(!os.str().empty());
- }
+TEST_F(ChrootFile, Repack)
+{
+ sbuild::chroot::facet::file::ptr filechrootfac = chroot->get_facet_strict<sbuild::chroot::facet::file>();
+ sbuild::chroot::facet::file::ptr filesessionfac = session->get_facet_strict<sbuild::chroot::facet::file>();
+ sbuild::chroot::facet::file::ptr filesourcefac = source->get_facet_strict<sbuild::chroot::facet::file>();
- 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_FALSE(filechrootfac->get_file_repack());
+ ASSERT_FALSE(filesessionfac->get_file_repack());
+ ASSERT_TRUE(filesourcefac->get_file_repack());
+}
- void test_run_setup_scripts()
- {
- CPPUNIT_ASSERT(chroot->get_run_setup_scripts());
- }
+TEST_F(ChrootFile, SetupEnv)
+{
+ sbuild::environment expected;
+ setup_env_gen(expected);
+ expected.add("CHROOT_FILE_REPACK", "false");
+ expected.add("CHROOT_SESSION_CLONE", "true");
+ expected.add("CHROOT_SESSION_CREATE", "true");
+ expected.add("CHROOT_SESSION_PURGE", "false");
-};
+ ChrootBase::test_setup_env(chroot, expected);
+}
+
+TEST_F(ChrootFile, SetupEnvSession)
+{
+ sbuild::environment expected;
+ setup_env_gen(expected);
+ expected.add("SESSION_ID", "test-session-name");
+ expected.add("CHROOT_ALIAS", "test-session-name");
+ expected.add("CHROOT_DESCRIPTION", chroot->get_description() + ' ' + _("(session chroot)"));
+ expected.add("CHROOT_FILE_REPACK", "false");
+ expected.add("CHROOT_SESSION_CLONE", "false");
+ expected.add("CHROOT_SESSION_CREATE", "false");
+ expected.add("CHROOT_SESSION_PURGE", "true");
+
+ ChrootBase::test_setup_env(session, expected);
+}
+
+TEST_F(ChrootFile, SetupSource)
+{
+ sbuild::environment expected;
+ setup_env_gen(expected);
+ expected.add("CHROOT_DESCRIPTION", chroot->get_description() + ' ' + _("(source chroot)"));
+ expected.add("CHROOT_FILE_REPACK", "true");
+ expected.add("CHROOT_SESSION_CLONE", "false");
+ expected.add("CHROOT_SESSION_CREATE", "true");
+ expected.add("CHROOT_SESSION_PURGE", "false");
+
+ ChrootBase::test_setup_env(source, expected);
+}
+
+TEST_F(ChrootFile, SetupEnvSessionSource)
+{
+ sbuild::environment expected;
+ setup_env_gen(expected);
+ expected.add("SESSION_ID", "test-session-name");
+ expected.add("CHROOT_ALIAS", "test-session-name");
+ expected.add("CHROOT_DESCRIPTION", chroot->get_description() + ' ' + _("(source chroot) (session chroot)"));
+ expected.add("CHROOT_FILE_REPACK", "true");
+ expected.add("CHROOT_SESSION_CLONE", "false");
+ expected.add("CHROOT_SESSION_CREATE", "false");
+ expected.add("CHROOT_SESSION_PURGE", "true");
+
+ ChrootBase::test_setup_env(session_source, expected);
+}
+
+TEST_F(ChrootFile, SetupKeyfile)
+{
+ sbuild::keyfile expected;
+ const std::string group(chroot->get_name());
+ setup_keyfile_chroot(expected, group);
+ setup_keyfile_source(expected, group);
+ setup_keyfile_file(expected, group);
+
+ ChrootBase::test_setup_keyfile
+ (chroot, expected, group);
+}
-CPPUNIT_TEST_SUITE_REGISTRATION(test_chroot_file);
+TEST_F(ChrootFile, SetupKeyfileSession)
+{
+ sbuild::keyfile expected;
+ const std::string group(session->get_name());
+ setup_keyfile_session(expected, group);
+ setup_keyfile_file(expected, group);
+ expected.set_value(group, "name", "test-session-name");
+ expected.set_value(group, "selected-name", "test-session-name");
+ expected.set_value(group, "file-repack", "false");
+ expected.set_value(group, "mount-location", "/mnt/mount-location");
+ setup_keyfile_session_clone(expected, group);
+
+ ChrootBase::test_setup_keyfile
+ (session, expected, group);
+}
+
+TEST_F(ChrootFile, SetupKeyfileSource)
+{
+ sbuild::keyfile expected;
+ const std::string group(source->get_name());
+ setup_keyfile_chroot(expected, group);
+ setup_keyfile_source_clone(expected, group);
+ setup_keyfile_file(expected, group);
+ expected.set_value(group, "description", chroot->get_description() + ' ' + _("(source chroot)"));
+
+ ChrootBase::test_setup_keyfile
+ (source, expected, group);
+}
+
+TEST_F(ChrootFile, SetupKeyfileSessionSource)
+{
+ sbuild::keyfile expected;
+ const std::string group(source->get_name());
+ setup_keyfile_chroot(expected, group);
+ setup_keyfile_file(expected, group);
+ setup_keyfile_session_source_clone(expected, group);
+ expected.set_value(group, "description", chroot->get_description() + ' ' + _("(source chroot) (session chroot)"));
+ expected.set_value(group, "file-repack", "true");
+ expected.set_value(group, "mount-location", "/mnt/mount-location");
+
+ ChrootBase::test_setup_keyfile
+ (session_source, expected, group);
+}
+
+TEST_F(ChrootFile, SessionFlags)
+{
+ ASSERT_EQ(chroot->get_session_flags(),
+ (sbuild::chroot::facet::facet::SESSION_CREATE |
+ sbuild::chroot::facet::facet::SESSION_CLONE));
+
+ ASSERT_EQ(session->get_session_flags(),
+ sbuild::chroot::facet::facet::SESSION_PURGE);
+
+ ASSERT_EQ(source->get_session_flags(),
+ sbuild::chroot::facet::facet::SESSION_CREATE);
+}
+
+TEST_F(ChrootFile, PrintDetails)
+{
+ std::ostringstream os;
+ os << chroot;
+ // TODO: Compare output.
+ ASSERT_FALSE(os.str().empty());
+}
+
+TEST_F(ChrootFile, PrintConfig)
+{
+ std::ostringstream os;
+ sbuild::keyfile config;
+ config << chroot;
+ os << sbuild::keyfile_writer(config);
+ // TODO: Compare output.
+ ASSERT_FALSE(os.str().empty());
+}
+
+TEST_F(ChrootFile, RunSetupScripts)
+{
+ ASSERT_TRUE(chroot->get_run_setup_scripts());
+}