]> git.saurik.com Git - apt.git/commitdiff
stablize gtest testcase environment
authorDavid Kalnischkies <david@kalnischkies.de>
Tue, 26 Jan 2016 16:42:33 +0000 (17:42 +0100)
committerDavid Kalnischkies <david@kalnischkies.de>
Tue, 26 Jan 2016 16:42:33 +0000 (17:42 +0100)
Avoid the dependency on a specific current path for the tar test and
ensure that _system is correctly initialized (gcc-6 runs into a segfault
otherwise and with it fixed starts to depend on the multi-arch
configuration of the running system… not good).

Git-Dch: Ignore

test/libapt/extracttar_test.cc
test/libapt/gtest_runner.cc
test/libapt/indexcopytosourcelist_test.cc

index b4e1fd37fd25b1868c0af6ae1b8a202c40aa01bd..0255bd767643f61f9706f42f2d9a7d3590c3ead6 100644 (file)
@@ -20,7 +20,7 @@ class Stream : public pkgDirStream
 
 TEST(ExtractTar, ExtractTar)
 {
-    EXPECT_EQ(system("tar c makefile | gzip > tar.tgz"), 0);
+    EXPECT_EQ(system("tar c /etc/passwd 2>/dev/null | gzip > tar.tgz"), 0);
 
     FileFd fd("tar.tgz", FileFd::ReadOnly);
     unlink("tar.tgz");
index 46054afa32cfea78aa82b31e03d3c9dfd2765f8d..73854d97686c6e336422c250b776e753beac51ad 100644 (file)
@@ -1,10 +1,15 @@
 #include <gtest/gtest.h>
 
+#include <apt-pkg/configuration.h>
+#include <apt-pkg/pkgsystem.h>
 #include <apt-pkg/error.h>
+#include <apt-pkg/init.h>
 
 int main(int argc, char **argv) {
    ::testing::InitGoogleTest(&argc, argv);
-   int result = RUN_ALL_TESTS();
+   if (pkgInitSystem(*_config, _system) == false)
+      return 42;
+   int const result = RUN_ALL_TESTS();
    if (_error->empty() == false)
    {
       std::cerr << "The test generated the following global messages:" << std::endl;
index 2d07dba153d53c8bb2a47e7214eb26d7b22d7985..eb6d49edf1716f1f338d5f8b31184baeca352541 100644 (file)
@@ -9,9 +9,9 @@
 
 #include <gtest/gtest.h>
 
-class NoCopy : public IndexCopy {
+class NoCopy : private IndexCopy {
    public:
-      std::string ConvertToSourceList(std::string CD,std::string Path) {
+      std::string ConvertToSourceList(std::string const &CD,std::string &&Path) {
         IndexCopy::ConvertToSourceList(CD, Path);
         return Path;
       }
@@ -44,13 +44,20 @@ TEST(IndexCopyTest, ConvertToSourceList)
         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);
         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");
@@ -59,7 +66,10 @@ TEST(IndexCopyTest, ConvertToSourceList)
         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");
@@ -68,7 +78,10 @@ TEST(IndexCopyTest, ConvertToSourceList)
         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");
@@ -77,7 +90,10 @@ TEST(IndexCopyTest, ConvertToSourceList)
         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");
@@ -87,6 +103,7 @@ TEST(IndexCopyTest, ConvertToSourceList)
         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));
+        }
       }
    }
 }