X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/e74ff795d39894268c737c4b1864869dadb74ed1..173fa882cf3396ab6d2a9be53c6ea23eda225a1d:/test/libapt/indexcopytosourcelist_test.cc diff --git a/test/libapt/indexcopytosourcelist_test.cc b/test/libapt/indexcopytosourcelist_test.cc index 69d8fae86..eb6d49edf 100644 --- a/test/libapt/indexcopytosourcelist_test.cc +++ b/test/libapt/indexcopytosourcelist_test.cc @@ -1,33 +1,41 @@ +#include + #include #include #include #include +#include -#include "assert.h" +#include -class NoCopy : public IndexCopy { -public: - std::string ConvertToSourceList(std::string CD,std::string Path) { - IndexCopy::ConvertToSourceList(CD, Path); - return Path; - } - bool GetFile(std::string &Filename,unsigned long long &Size) { return false; } - bool RewriteEntry(FILE *Target,std::string File) { return false; } - const char *GetFileName() { return NULL; } - const char *Type() { return NULL; } +class NoCopy : private IndexCopy { + public: + std::string ConvertToSourceList(std::string const &CD,std::string &&Path) { + IndexCopy::ConvertToSourceList(CD, Path); + return Path; + } + bool GetFile(std::string &/*Filename*/, unsigned long long &/*Size*/) APT_OVERRIDE { return false; } + bool RewriteEntry(FileFd & /*Target*/, std::string const &/*File*/) APT_OVERRIDE { return false; } + const char *GetFileName() APT_OVERRIDE { return NULL; } + const char *Type() APT_OVERRIDE { return NULL; } }; -int main(int argc, char const *argv[]) { +TEST(IndexCopyTest, ConvertToSourceList) +{ NoCopy ic; std::string const CD("/media/cdrom/"); char const * Releases[] = { "unstable", "wheezy-updates", NULL }; char const * Components[] = { "main", "non-free", NULL }; - for (char const ** Release = Releases; *Release != NULL; ++Release) { - for (char const ** Component = Components; *Component != NULL; ++Component) { + for (char const ** Release = Releases; *Release != NULL; ++Release) + { + SCOPED_TRACE(std::string("Release ") + *Release); + for (char const ** Component = Components; *Component != NULL; ++Component) + { + SCOPED_TRACE(std::string("Component ") + *Component); std::string const Path = std::string("dists/") + *Release + "/" + *Component + "/"; std::string const Binary = Path + "binary-"; std::string const A = Binary + "armel/"; @@ -36,51 +44,66 @@ int main(int argc, char const *argv[]) { std::string const S = Path + "source/"; std::string const List = std::string(*Release) + " " + *Component; + { + SCOPED_TRACE("no archs configured"); _config->Clear("APT"); + _config->Set("APT::Architecture", "all"); + _config->Set("APT::Architectures::", "all"); APT::Configuration::getArchitectures(false); - equals(ic.ConvertToSourceList("/media/cdrom/", CD + A), A); - equals(ic.ConvertToSourceList("/media/cdrom/", CD + B), B); - equals(ic.ConvertToSourceList("/media/cdrom/", CD + C), C); - equals(ic.ConvertToSourceList("/media/cdrom/", CD + S), List); + EXPECT_EQ(A, ic.ConvertToSourceList("/media/cdrom/", CD + A)); + EXPECT_EQ(B, ic.ConvertToSourceList("/media/cdrom/", CD + B)); + EXPECT_EQ(C, ic.ConvertToSourceList("/media/cdrom/", CD + C)); + EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + S)); + } + { + SCOPED_TRACE("mips configured"); _config->Clear("APT"); _config->Set("APT::Architecture", "mips"); _config->Set("APT::Architectures::", "mips"); APT::Configuration::getArchitectures(false); - equals(ic.ConvertToSourceList("/media/cdrom/", CD + A), A); - equals(ic.ConvertToSourceList("/media/cdrom/", CD + B), List); - equals(ic.ConvertToSourceList("/media/cdrom/", CD + C), C); - equals(ic.ConvertToSourceList("/media/cdrom/", CD + S), List); + EXPECT_EQ(A, ic.ConvertToSourceList("/media/cdrom/", CD + A)); + EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + B)); + EXPECT_EQ(C, ic.ConvertToSourceList("/media/cdrom/", CD + C)); + EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + S)); + } + { + SCOPED_TRACE("kfreebsd-mips configured"); _config->Clear("APT"); _config->Set("APT::Architecture", "kfreebsd-mips"); _config->Set("APT::Architectures::", "kfreebsd-mips"); APT::Configuration::getArchitectures(false); - equals(ic.ConvertToSourceList("/media/cdrom/", CD + A), A); - equals(ic.ConvertToSourceList("/media/cdrom/", CD + B), B); - equals(ic.ConvertToSourceList("/media/cdrom/", CD + C), List); - equals(ic.ConvertToSourceList("/media/cdrom/", CD + S), List); + EXPECT_EQ(A, ic.ConvertToSourceList("/media/cdrom/", CD + A)); + EXPECT_EQ(B, ic.ConvertToSourceList("/media/cdrom/", CD + B)); + EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + C)); + EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + S)); + } + { + SCOPED_TRACE("armel configured"); _config->Clear("APT"); _config->Set("APT::Architecture", "armel"); _config->Set("APT::Architectures::", "armel"); APT::Configuration::getArchitectures(false); - equals(ic.ConvertToSourceList("/media/cdrom/", CD + A), List); - equals(ic.ConvertToSourceList("/media/cdrom/", CD + B), B); - equals(ic.ConvertToSourceList("/media/cdrom/", CD + C), C); - equals(ic.ConvertToSourceList("/media/cdrom/", CD + S), List); + EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + A)); + EXPECT_EQ(B, ic.ConvertToSourceList("/media/cdrom/", CD + B)); + EXPECT_EQ(C, ic.ConvertToSourceList("/media/cdrom/", CD + C)); + EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + S)); + } + { + SCOPED_TRACE("armel+mips configured"); _config->Clear("APT"); _config->Set("APT::Architecture", "armel"); _config->Set("APT::Architectures::", "armel"); _config->Set("APT::Architectures::", "mips"); APT::Configuration::getArchitectures(false); - equals(ic.ConvertToSourceList("/media/cdrom/", CD + A), List); - equals(ic.ConvertToSourceList("/media/cdrom/", CD + B), List); - equals(ic.ConvertToSourceList("/media/cdrom/", CD + C), C); - equals(ic.ConvertToSourceList("/media/cdrom/", CD + S), List); + EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + A)); + EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + B)); + EXPECT_EQ(C, ic.ConvertToSourceList("/media/cdrom/", CD + C)); + EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + S)); + } } } - - return 0; }