summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJoshua Ismael Haase Hernández <hahj87@gmail.com>2011-03-05 13:13:41 -0600
committerJoshua Ismael Haase Hernández <hahj87@gmail.com>2011-03-05 13:13:41 -0600
commit5a4480f1f3e2e7d0aec965b21f72f4454618333e (patch)
treea41ed8f00b5e3285db859d0d13d18bbafd15656c /test
parent9793aaf4e9a716f126e71a1db412cbd32f161593 (diff)
* Added «depends» field to Package class.
* Merged tests for filter functions in test_filter.py * Added testfiles for test_filter.py in test directory * Added pkginfo_from_desc function to filter.py
Diffstat (limited to 'test')
-rw-r--r--test/core.db.tar.gzbin0 -> 1637 bytes
-rw-r--r--test/depends4
-rw-r--r--test/desc39
-rw-r--r--test/test_filter.py169
-rw-r--r--test/test_pkginfo_from_file.py76
-rw-r--r--test/test_pkginfo_from_rsync_output.py65
6 files changed, 212 insertions, 141 deletions
diff --git a/test/core.db.tar.gz b/test/core.db.tar.gz
new file mode 100644
index 0000000..a28ea64
--- /dev/null
+++ b/test/core.db.tar.gz
Binary files differ
diff --git a/test/depends b/test/depends
new file mode 100644
index 0000000..7ff3ad4
--- /dev/null
+++ b/test/depends
@@ -0,0 +1,4 @@
+%DEPENDS%
+glibc>=2.13
+zlib
+
diff --git a/test/desc b/test/desc
new file mode 100644
index 0000000..abba644
--- /dev/null
+++ b/test/desc
@@ -0,0 +1,39 @@
+%FILENAME%
+binutils-2.21-4-x86_64.pkg.tar.xz
+
+%NAME%
+binutils
+
+%VERSION%
+2.21-4
+
+%DESC%
+A set of programs to assemble and manipulate binary and object files
+
+%GROUPS%
+base
+
+%CSIZE%
+3412892
+
+%ISIZE%
+17571840
+
+%MD5SUM%
+4e666f87c78998f4839f33dc06d2043a
+
+%URL%
+http://www.gnu.org/software/binutils/
+
+%LICENSE%
+GPL
+
+%ARCH%
+x86_64
+
+%BUILDDATE%
+1297240369
+
+%PACKAGER%
+Allan McRae <allan@archlinux.org>
+
diff --git a/test/test_filter.py b/test/test_filter.py
new file mode 100644
index 0000000..5127b75
--- /dev/null
+++ b/test/test_filter.py
@@ -0,0 +1,169 @@
+# -*- encoding: utf-8 -*-
+""" """
+
+__author__ = "Joshua Ismael Haase Hernández <hahj87@gmail.com>"
+__version__ = "$Revision: 1.1 $"
+__date__ = "$Date: 2011/02/08 $"
+__copyright__ = "Copyright (c) 2011 Joshua Ismael Haase Hernández"
+__license__ = "GPL3+"
+
+from repm.config import *
+from repm.filter import *
+import unittest
+
+class pkginfo_from_file_KnownValues(unittest.TestCase):
+ # (filename, name, version, release, arch)
+ # filename is location
+ known=(
+ ("community-testing/os/i686/inputattach-1.24-3-i686.pkg.tar.xz","inputattach","1.24","3","i686"),
+ ("community-testing/os/i686/ngspice-22-1-i686.pkg.tar.xz","ngspice","22","1","i686"),
+ ("community-testing/os/i686/tmux-1.4-2-i686.pkg.tar.xz","tmux","1.4","2","i686"),
+ ("community-testing/os/i686/tor-0.2.1.29-2-i686.pkg.tar.xz","tor","0.2.1.29","2","i686"),
+ ("../../../pool/community/tor-0.2.1.29-2-i686.pkg.tar.xz","tor","0.2.1.29","2","i686"),
+ ("community-testing/os/x86_64/inputattach-1.24-3-x86_64.pkg.tar.xz","inputattach","1.24","3","x86_64"),
+ ("../../../pool/community/inputattach-1.24-3-x86_64.pkg.tar.xz","inputattach","1.24","3","x86_64"),
+ ("tor-0.2.1.29-2-x86_64.pkg.tar.xz","tor","0.2.1.29","2","x86_64"),
+ )
+
+ def generate_results(self, example_tuple, attr):
+ location, name, version, release, arch = example_tuple
+ return pkginfo_from_filename(location)[attr], locals()[attr]
+
+ def testReturnPackageObject(self):
+ for i in self.known:
+ location, name, version, release, arch = i
+ self.assertIsInstance(pkginfo_from_filename(location),Package)
+
+ def testNames(self):
+ for i in self.known:
+ k,v = self.generate_results(example_tuple=i,attr="name")
+ self.assertEqual(k, v)
+
+ def testVersions(self):
+ for i in self.known:
+ k,v = self.generate_results(example_tuple=i,attr="version")
+ self.assertEqual(k, v)
+
+ def testArchs(self):
+ for i in self.known:
+ k,v = self.generate_results(example_tuple=i,attr="arch")
+ self.assertEqual(k, v)
+
+ def testReleases(self):
+ for i in self.known:
+ k,v = self.generate_results(example_tuple=i,attr="release")
+ self.assertEqual(k, v)
+
+ def testLocations(self):
+ for i in self.known:
+ k,v = self.generate_results(example_tuple=i,attr="location")
+ self.assertEqual(k, v)
+
+class pkginfo_from_file_BadInput(unittest.TestCase):
+ bad=("community-testing/os/i686/community-testing.db",
+ "community-testing/os/i686/community-testing.db.tar.gz",
+ "community-testing/os/i686/community-testing.db.tar.gz.old",
+ "community-testing/os/i686/community-testing.files",
+ "community-testing/os/i686/community-testing.files.tar.gz",
+ "community-testing/os/x86_64")
+
+ def testBadInput(self):
+ for i in self.bad:
+ self.assertRaises(NonValidFile,pkginfo_from_filename,i)
+
+class pkginfoFromRsyncOutput(unittest.TestCase):
+ example_package_list=(Package(),Package(),Package())
+ example_package_list[0].package_info={ "name" : "alex",
+ "version" : "2.3.4",
+ "release" : "1",
+ "arch" : "i686",
+ "license" : False,
+ "location": "community-staging/os/i686/alex-2.3.4-1-i686.pkg.tar.xz",
+ "depends" : False,}
+ example_package_list[1].package_info={ "name" : "any2dvd",
+ "version" : "0.34",
+ "release" : "4",
+ "arch" : "any",
+ "license" : False,
+ "location": "community/os/any/any2dvd-0.34-4-any.pkg.tar.xz",
+ "depends" : False,}
+ example_package_list[2].package_info={ "name" : "gmime22",
+ "version" : "2.2.26",
+ "release" : "1",
+ "arch" : "x86_64",
+ "license" : False,
+ "location": "community/os/x86_64/gmime22-2.2.26-1-x86_64.pkg.tar.xz",
+ "depends" : False,}
+
+ try:
+ output_file = open("rsync_output_sample")
+ rsync_out= output_file.read()
+ output_file.close()
+ except IOError: print("There is no rsync_output_sample file")
+
+ pkglist = pkginfo_from_rsync_output(rsync_out)
+
+ def testOutputArePackages(self):
+ if not self.pkglist:
+ self.fail("not pkglist:" + str(self.pkglist))
+ for pkg in self.pkglist:
+ self.assertIsInstance(pkg,Package)
+
+ def testPackageInfo(self):
+ if not self.pkglist:
+ self.fail("Pkglist doesn't exist: " + str(self.pkglist))
+ self.assertEqual(self.pkglist,self.example_package_list)
+
+class generateRsyncBlacklist(unittest.TestCase):
+ example_package_list=(Package(),Package(),Package())
+ example_package_list[0].package_info={ "name" : "alex",
+ "version" : "2.3.4",
+ "release" : "1",
+ "arch" : "i686",
+ "license" : False,
+ "location": "community-staging/os/i686/alex-2.3.4-1-i686.pkg.tar.xz",
+ "depends" : False,}
+ example_package_list[1].package_info={ "name" : "any2dvd",
+ "version" : "0.34",
+ "release" : "4",
+ "arch" : "any",
+ "license" : False,
+ "location": "community/os/any/any2dvd-0.34-4-any.pkg.tar.xz",
+ "depends" : False,}
+ example_package_list[2].package_info={ "name" : "gmime22",
+ "version" : "2.2.26",
+ "release" : "1",
+ "arch" : "x86_64",
+ "license" : False,
+ "location": "community/os/x86_64/gmime22-2.2.26-1-x86_64.pkg.tar.xz",
+ "depends" : False,}
+
+ def testListado(self):
+ self.assertEqual(listado("blacklist_sample"),["alex","gmime22"])
+
+ def testExcludeFiles(self):
+ a=generate_exclude_list_from_blacklist(self.example_package_list,listado("blacklist_sample"),debug=True)
+ b=[self.example_package_list[0]["location"],self.example_package_list[2]["location"]]
+ self.assertEqual(a,b)
+
+class pkginfo_from_descKnownValues(unittest.TestCase):
+ pkgsample=Package()
+ pkgsample.package_info={"name" : "binutils",
+ "version" : "2.21",
+ "release" : "4",
+ "arch" : "x86_64",
+ "license" : "GPL",
+ "location": "binutils-2.21-4-x86_64.pkg.tar.xz",
+ "depends" : False,}
+ pkggen=pkginfo_from_desc("desc")
+ def testPkginfoFromDesc(self):
+ if self.pkggen is None:
+ self.fail("return value is None")
+ self.assertEqual(self.pkgsample,self.pkggen)
+
+class pkginfo_from_db(unittest.TestCase):
+ archdb = os.path.join("./workdir")
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/test/test_pkginfo_from_file.py b/test/test_pkginfo_from_file.py
deleted file mode 100644
index 0d7ede6..0000000
--- a/test/test_pkginfo_from_file.py
+++ /dev/null
@@ -1,76 +0,0 @@
-#! /usr/bin/python
-# -*- encoding: utf-8 -*-
-""" """
-
-__author__ = "Joshua Ismael Haase Hernández <hahj87@gmail.com>"
-__version__ = "$Revision: 1.1 $"
-__date__ = "$Date: 2011/02/08 $"
-__copyright__ = "Copyright (c) 2011 Joshua Ismael Haase Hernández"
-__license__ = "GPL3+"
-
-from repm.config import *
-from repm.filter import *
-import unittest
-
-class KnownValues(unittest.TestCase):
- # (filename, name, version, release, arch)
- # filename is location
- known=(
- ("community-testing/os/i686/inputattach-1.24-3-i686.pkg.tar.xz","inputattach","1.24","3","i686"),
- ("community-testing/os/i686/ngspice-22-1-i686.pkg.tar.xz","ngspice","22","1","i686"),
- ("community-testing/os/i686/tmux-1.4-2-i686.pkg.tar.xz","tmux","1.4","2","i686"),
- ("community-testing/os/i686/tor-0.2.1.29-2-i686.pkg.tar.xz","tor","0.2.1.29","2","i686"),
- ("../../../pool/community/tor-0.2.1.29-2-i686.pkg.tar.xz","tor","0.2.1.29","2","i686"),
- ("community-testing/os/x86_64/inputattach-1.24-3-x86_64.pkg.tar.xz","inputattach","1.24","3","x86_64"),
- ("../../../pool/community/inputattach-1.24-3-x86_64.pkg.tar.xz","inputattach","1.24","3","x86_64"),
- ("tor-0.2.1.29-2-x86_64.pkg.tar.xz","tor","0.2.1.29","2","x86_64"),
- )
-
- def generate_results(self, example_tuple, attr):
- location, name, version, release, arch = example_tuple
- return pkginfo_from_filename(location)[attr], locals()[attr]
-
- def testReturnPackageObject(self):
- for i in self.known:
- location, name, version, release, arch = i
- self.assertIsInstance(pkginfo_from_filename(location),Package)
-
- def testNames(self):
- for i in self.known:
- k,v = self.generate_results(example_tuple=i,attr="name")
- self.assertEqual(k, v)
-
- def testVersions(self):
- for i in self.known:
- k,v = self.generate_results(example_tuple=i,attr="version")
- self.assertEqual(k, v)
-
- def testArchs(self):
- for i in self.known:
- k,v = self.generate_results(example_tuple=i,attr="arch")
- self.assertEqual(k, v)
-
- def testReleases(self):
- for i in self.known:
- k,v = self.generate_results(example_tuple=i,attr="release")
- self.assertEqual(k, v)
-
- def testLocations(self):
- for i in self.known:
- k,v = self.generate_results(example_tuple=i,attr="location")
- self.assertEqual(k, v)
-
-class BadInput(unittest.TestCase):
- bad=("community-testing/os/i686/community-testing.db",
- "community-testing/os/i686/community-testing.db.tar.gz",
- "community-testing/os/i686/community-testing.db.tar.gz.old",
- "community-testing/os/i686/community-testing.files",
- "community-testing/os/i686/community-testing.files.tar.gz",
- "community-testing/os/x86_64")
-
- def testBadInput(self):
- for i in self.bad:
- self.assertRaises(NonValidFile,pkginfo_from_filename,i)
-
-if __name__ == "__main__":
- unittest.main()
diff --git a/test/test_pkginfo_from_rsync_output.py b/test/test_pkginfo_from_rsync_output.py
deleted file mode 100644
index aca49e8..0000000
--- a/test/test_pkginfo_from_rsync_output.py
+++ /dev/null
@@ -1,65 +0,0 @@
-# -*- encoding: utf-8 -*-
-""" """
-
-__author__ = "Joshua Ismael Haase Hernández <hahj87@gmail.com>"
-__version__ = "$Revision: 1.1 $"
-__date__ = "$Date: 2011/02/08 $"
-__copyright__ = "Copyright (c) 2011 Joshua Ismael Haase Hernández"
-__license__ = "GPL3+"
-
-from repm.config import *
-from repm.filter import *
-import unittest
-
-example_package_list=(Package(),Package(),Package())
-example_package_list[0].package_info={ "name" : "alex",
- "version" : "2.3.4",
- "release" : "1",
- "arch" : "i686",
- "license" : False,
- "location": "community-staging/os/i686/alex-2.3.4-1-i686.pkg.tar.xz"}
-example_package_list[1].package_info={ "name" : "any2dvd",
- "version" : "0.34",
- "release" : "4",
- "arch" : "any",
- "license" : False,
- "location": "community/os/any/any2dvd-0.34-4-any.pkg.tar.xz"}
-example_package_list[2].package_info={ "name" : "gmime22",
- "version" : "2.2.26",
- "release" : "1",
- "arch" : "x86_64",
- "license" : False,
- "location": "community/os/x86_64/gmime22-2.2.26-1-x86_64.pkg.tar.xz"}
-
-class pkginfoFromRsyncOutput(unittest.TestCase):
- try:
- output_file = open("rsync_output_sample")
- rsync_out= output_file.read()
- output_file.close()
- except IOError: print("There is no rsync_output_sample file")
-
- pkglist = pkginfo_from_rsync_output(rsync_out)
-
- def testOutputArePackages(self):
- if not self.pkglist:
- self.fail("not pkglist:" + str(self.pkglist))
- for pkg in self.pkglist:
- self.assertIsInstance(pkg,Package)
-
- def testPackageInfo(self):
- if not self.pkglist:
- self.fail("Pkglist doesn't exist: " + str(self.pkglist))
- self.assertEqual(self.pkglist,example_package_list)
-
-class generateRsyncBlacklist(unittest.TestCase):
- """ Test Blacklist generation """
- def testListado(self):
- self.assertEqual(listado("blacklist_sample"),["alex","gmime22"])
-
- def testExcludeFiles(self):
- a=generate_exclude_list_from_blacklist(example_package_list,listado("blacklist_sample"),debug=True)
- b=[example_package_list[0]["location"],example_package_list[2]["location"]]
- self.assertEqual(a,b)
-
-if __name__ == "__main__":
- unittest.main()