summaryrefslogtreecommitdiff
path: root/test/libapt/sourcelist_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'test/libapt/sourcelist_test.cc')
-rw-r--r--test/libapt/sourcelist_test.cc49
1 files changed, 16 insertions, 33 deletions
diff --git a/test/libapt/sourcelist_test.cc b/test/libapt/sourcelist_test.cc
index 71aa54f1e..eb2d76c43 100644
--- a/test/libapt/sourcelist_test.cc
+++ b/test/libapt/sourcelist_test.cc
@@ -1,6 +1,5 @@
#include <config.h>
-#include <apt-pkg/configuration.h>
#include <apt-pkg/sourcelist.h>
#include <apt-pkg/fileutl.h>
@@ -9,26 +8,20 @@
#include <string.h>
#include <unistd.h>
-#include "assert.h"
+#include <gtest/gtest.h>
-char *tempfile = NULL;
-int tempfile_fd = -1;
+#include "file-helpers.h"
-static void remove_tmpfile(void)
-{
- if (tempfile_fd > 0)
- close(tempfile_fd);
- if (tempfile != NULL) {
- unlink(tempfile);
- free(tempfile);
- }
-}
+class SourceList : public pkgSourceList {
+ public:
+ using pkgSourceList::ParseFileDeb822;
+};
-int main()
+TEST(SourceListTest,ParseFileDeb822)
{
- _config->Set("APT::Sources::Use-Deb822", true);
-
- const char contents[] = ""
+ FileFd fd;
+ char * tempfile;
+ createTemporaryFile("parsefiledeb822", fd, &tempfile,
"Types: deb\n"
"URIs: http://ftp.debian.org/debian\n"
"Suites: stable\n"
@@ -39,22 +32,12 @@ int main()
"Types: deb\n"
"URIs: http://ftp.debian.org/debian\n"
"Suites: unstable\n"
- "Sections: main non-free\n"
- ;
-
- FileFd fd;
- atexit(remove_tmpfile);
- tempfile = strdup("apt-test.XXXXXXXX");
- tempfile_fd = mkstemp(tempfile);
-
- /* (Re-)Open (as FileFd), write and seek to start of the temp file */
- equals(fd.OpenDescriptor(tempfile_fd, FileFd::ReadWrite), true);
- equals(fd.Write(contents, strlen(contents)), true);
- equals(fd.Seek(0), true);
+ "Sections: main non-free\n");
+ fd.Close();
- pkgSourceList sources(tempfile);
- equals(sources.size(), 2);
+ SourceList sources;
+ EXPECT_EQ(2, sources.ParseFileDeb822(tempfile));
+ EXPECT_EQ(2, sources.size());
- /* clean up handled by atexit handler, so just return here */
- return 0;
+ unlink(tempfile);
}