From 2922b68570ca6e532d485cf4b4f24bb1cd69f781 Mon Sep 17 00:00:00 2001
From: Nicolas Dandrimont <nicolas@dandrimont.eu>
Date: Mon, 30 Oct 2017 17:04:49 +0100
Subject: [PATCH] Clean up dependencies to enable tests on build

---
 MANIFEST.in           |  1 +
 debian/control        |  6 +++++-
 requirements-test.txt |  3 +++
 requirements.txt      |  6 ++----
 setup.py              | 28 +++++++++++++++++++---------
 5 files changed, 30 insertions(+), 14 deletions(-)
 create mode 100644 requirements-test.txt

diff --git a/MANIFEST.in b/MANIFEST.in
index b13dc0f7..81c908b3 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -2,4 +2,5 @@ include Makefile
 include README
 include requirements.txt
 include requirements-swh.txt
+include requirements-test.txt
 include version.txt
diff --git a/debian/control b/debian/control
index 367b7029..ab4b458b 100644
--- a/debian/control
+++ b/debian/control
@@ -6,14 +6,18 @@ Build-Depends: debhelper (>= 9),
                dh-python (>= 2),
                python3-all,
                python3-dateutil,
+               python3-debian,
                python3-nose,
+               python3-requests-mock,
                python3-setuptools,
                python3-sqlalchemy (>= 1.0),
                python3-swh.core,
                python3-swh.scheduler (>= 0.0.14~),
                python3-swh.storage,
                python3-swh.storage.schemata,
-               python3-vcversioner
+               python3-testing.postgresql,
+               python3-vcversioner,
+               python3-xmltodict
 Standards-Version: 3.9.6
 Homepage: https://forge.softwareheritage.org/source/swh-lister/
 
diff --git a/requirements-test.txt b/requirements-test.txt
new file mode 100644
index 00000000..3eb878af
--- /dev/null
+++ b/requirements-test.txt
@@ -0,0 +1,3 @@
+nose
+requests_mock
+testing.postgresql
diff --git a/requirements.txt b/requirements.txt
index 9a284d83..4f3f5887 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,8 +1,6 @@
+SQLAlchemy
 arrow
-nose
+python_debian
 requests
-requests_mock
 setuptools
-SQLAlchemy
-testing.postgresql
 xmltodict
diff --git a/setup.py b/setup.py
index e1d86ac6..d2934ba6 100644
--- a/setup.py
+++ b/setup.py
@@ -1,17 +1,26 @@
 #!/usr/bin/env python3
 
+import os
+
 from setuptools import setup, find_packages
 
 
-def parse_requirements():
+def parse_requirements(name=None):
+    if name:
+        reqf = 'requirements-%s.txt' % name
+    else:
+        reqf = 'requirements.txt'
+
     requirements = []
-    for reqf in ('requirements.txt', 'requirements-swh.txt'):
-        with open(reqf) as f:
-            for line in f.readlines():
-                line = line.strip()
-                if not line or line.startswith('#'):
-                    continue
-                requirements.append(line)
+    if not os.path.exists(reqf):
+        return requirements
+
+    with open(reqf) as f:
+        for line in f.readlines():
+            line = line.strip()
+            if not line or line.startswith('#'):
+                continue
+            requirements.append(line)
     return requirements
 
 
@@ -23,7 +32,8 @@ setup(
     url='https://forge.softwareheritage.org/diffusion/DLSGH/',
     packages=find_packages(),
     scripts=['bin/ghlister'],
-    install_requires=parse_requirements(),
+    install_requires=parse_requirements() + parse_requirements('swh'),
+    test_requires=parse_requirements('test'),
     setup_requires=['vcversioner'],
     vcversioner={'version_module_paths': ['swh/lister/_version.py']},
     include_package_data=True,
-- 
GitLab