#include #include #include #include #include #include TEST(ArchitecturesTest,SimpleLists) { _config->Clear(); std::vector vec; _config->Set("APT::Architectures::1", "i386"); _config->Set("APT::Architectures::2", "amd64"); vec = APT::Configuration::getArchitectures(false); ASSERT_EQ(2u, vec.size()); EXPECT_EQ("i386", vec[0]); EXPECT_EQ("amd64", vec[1]); _config->Set("APT::Architecture", "i386"); vec = APT::Configuration::getArchitectures(false); ASSERT_EQ(2u, vec.size()); EXPECT_EQ("i386", vec[0]); EXPECT_EQ("amd64", vec[1]); _config->Set("APT::Architectures::2", ""); vec = APT::Configuration::getArchitectures(false); ASSERT_EQ(1u, vec.size()); EXPECT_EQ("i386", vec[0]); _config->Set("APT::Architecture", "armel"); vec = APT::Configuration::getArchitectures(false); ASSERT_EQ(2u, vec.size()); EXPECT_EQ("armel", vec[0]); EXPECT_EQ("i386", vec[1]); _config->Set("APT::Architectures::2", "armel"); vec = APT::Configuration::getArchitectures(false); ASSERT_EQ(2u, vec.size()); EXPECT_EQ("i386", vec[0]); EXPECT_EQ("armel", vec[1]); _config->Set("APT::Architectures", "armel,armhf"); vec = APT::Configuration::getArchitectures(false); ASSERT_EQ(2u, vec.size()); EXPECT_EQ("armel", vec[0]); EXPECT_EQ("armhf", vec[1]); _config->Clear(); } TEST(ArchitecturesTest,Duplicates) { _config->Clear(); _config->Set("APT::Architecture", "armel"); _config->Set("APT::Architectures::", "i386"); _config->Set("APT::Architectures::", "amd64"); _config->Set("APT::Architectures::", "i386"); _config->Set("APT::Architectures::", "armel"); _config->Set("APT::Architectures::", "i386"); _config->Set("APT::Architectures::", "amd64"); _config->Set("APT::Architectures::", "armel"); _config->Set("APT::Architectures::", "armel"); _config->Set("APT::Architectures::", "amd64"); _config->Set("APT::Architectures::", "amd64"); std::vector vec = _config->FindVector("APT::Architectures"); ASSERT_EQ(10u, vec.size()); vec = APT::Configuration::getArchitectures(false); ASSERT_EQ(3u, vec.size()); EXPECT_EQ("i386", vec[0]); EXPECT_EQ("amd64", vec[1]); EXPECT_EQ("armel", vec[2]); _config->Clear(); }