]> git.saurik.com Git - apt.git/blobdiff - test/libapt/indexcopytosourcelist_test.cc
randomize acquire order for same type index files
[apt.git] / test / libapt / indexcopytosourcelist_test.cc
index 69d8fae860adf0843455f607911a3f430b781dac..eb6d49edf1716f1f338d5f8b31184baeca352541 100644 (file)
@@ -1,33 +1,41 @@
+#include <config.h>
+
 #include <apt-pkg/configuration.h>
 #include <apt-pkg/aptconfiguration.h>
 #include <apt-pkg/indexcopy.h>
 
 #include <string>
+#include <stdio.h>
 
-#include "assert.h"
+#include <gtest/gtest.h>
 
-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;
 }