summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gd_diff.py17
-rw-r--r--tests/files/small-parkes-pkgs.list19
-rw-r--r--tests/test_gd_diff.py14
3 files changed, 50 insertions, 0 deletions
diff --git a/gd_diff.py b/gd_diff.py
index a02b045..225b29e 100644
--- a/gd_diff.py
+++ b/gd_diff.py
@@ -113,3 +113,20 @@ def slurp_gns_readme(release, pkg, local_dir):
print("README.gNewSense not found for package {}".format(pkg),
file=sys.stderr)
return False
+
+
+def slurp_all_gns_readmes(release, pkgs, local_dir):
+ """Read and save all README.gNewSense for `pkgs` in `release`.
+
+ The README.gNewSense files gets saved under `local_dir`/`release`
+
+ Returns list of packages in `pkgs` that does not have README.gNewSense.
+ """
+ pkgs_noreadmes = []
+ for pkg in pkgs:
+ slurped = slurp_gns_readme(release, pkg, local_dir)
+
+ if(not slurped):
+ pkgs_noreadmes.append(pkg)
+
+ return pkgs_noreadmes
diff --git a/tests/files/small-parkes-pkgs.list b/tests/files/small-parkes-pkgs.list
new file mode 100644
index 0000000..a1980d5
--- /dev/null
+++ b/tests/files/small-parkes-pkgs.list
@@ -0,0 +1,19 @@
+antlr
+apt
+apt-setup
+db4.7
+db4.8
+ debian-cd
+debian-edu
+debian-installer
+debian-installer-launcher
+debootstrap
+desktop-base
+ pkg-with-no-readme
+doc-linux
+doc-linux-hr
+doc-linux-it
+doc-linux-ja
+ another-pkgs-no-readme
+doc-linux-pl
+enscript \ No newline at end of file
diff --git a/tests/test_gd_diff.py b/tests/test_gd_diff.py
index d4b9267..04e14ec 100644
--- a/tests/test_gd_diff.py
+++ b/tests/test_gd_diff.py
@@ -23,6 +23,7 @@ class TestGdDiff(object):
def setup(self):
"""Setup method for this class."""
self.pkgs_file = 'tests/files/parkes-pkgs.list'
+ self.small_pkgs_file = 'tests/files/small-parkes-pkgs.list'
self.pkgs_file_ne = 'tests/nonexistent-file.list'
self.gns_pkgs_dir = 'tests/gns-pkgs'
self.stderr_orig = sys.stderr
@@ -129,6 +130,19 @@ class TestGdDiff(object):
assert not path.exists(gns_readme_file)
+ def test_slurp_all_gns_readmes(self):
+ pkgs = get_packages(self.small_pkgs_file)
+
+ # expected packages with no readmes
+ expected_pkgs_noreadmes = [
+ 'pkg-with-no-readme',
+ 'another-pkgs-no-readme',
+ ]
+
+ pkgs_noreadmes = slurp_all_gns_readmes('parkes', pkgs, self.gns_pkgs_dir)
+ assert_equal(pkgs_noreadmes, expected_pkgs_noreadmes)
+
+
def teardown(self):
"""Teardown method for this class."""
if(path.exists(self.gns_pkgs_dir)):