X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/78766f46d043c1c1eeb9869db7e1c5b4093d5274..c4d749b78a46e69887ec9662851f180e587f2d34:/test/libapt/sourcelist_test.cc diff --git a/test/libapt/sourcelist_test.cc b/test/libapt/sourcelist_test.cc index 1d30bd85b..eb2d76c43 100644 --- a/test/libapt/sourcelist_test.cc +++ b/test/libapt/sourcelist_test.cc @@ -1,52 +1,43 @@ +#include + #include -#include +#include -#include "assert.h" +#include #include #include #include -char *tempfile = NULL; -int tempfile_fd = -1; +#include -void remove_tmpfile(void) -{ - if (tempfile_fd > 0) - close(tempfile_fd); - if (tempfile != NULL) { - unlink(tempfile); - free(tempfile); - } -} +#include "file-helpers.h" -int main(int argc, char *argv[]) -{ - const char contents[] = "" - "Type: deb\n" - "Uri: http://ftp.debian.org/debian\n" - "Suite: stable\n" - "Section: main\n" - "Comment: Some random string\n" - " that can be very long\n" - "\n" - "Type: deb\n" - "Uri: http://ftp.debian.org/debian\n" - "Suite: unstable\n" - "Section: main non-free\n" - ; +class SourceList : public pkgSourceList { + public: + using pkgSourceList::ParseFileDeb822; +}; +TEST(SourceListTest,ParseFileDeb822) +{ FileFd fd; - 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); + char * tempfile; + createTemporaryFile("parsefiledeb822", fd, &tempfile, + "Types: deb\n" + "URIs: http://ftp.debian.org/debian\n" + "Suites: stable\n" + "Sections: main\n" + "Description: short\n" + " long description that can be very long\n" + "\n" + "Types: deb\n" + "URIs: http://ftp.debian.org/debian\n" + "Suites: unstable\n" + "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); }