From 20f211cbef89be56ad7dd26e93cb720d81a93172 Mon Sep 17 00:00:00 2001
From: albailey <Al.Bailey@windriver.com>
Date: Fri, 19 Feb 2021 12:14:38 -0600
Subject: [PATCH] Add bindep target to tox

bindep is a helpful tox target to assist in determining
what components a test environment needs to have installed.

For stx-puppet, puppet-lint needs ruby headers otherwise
the tox linters target will fail.

Partial-Bug: #1907678
Signed-off-by: albailey <Al.Bailey@windriver.com>
Change-Id: Iaccd8d8f3af292ef29028cde59f0d344b94f1d72
---
 bindep.txt | 2 ++
 tox.ini    | 8 ++++++++
 2 files changed, 10 insertions(+)
 create mode 100644 bindep.txt

diff --git a/bindep.txt b/bindep.txt
new file mode 100644
index 000000000..00264487a
--- /dev/null
+++ b/bindep.txt
@@ -0,0 +1,2 @@
+ruby-devel [test platform:rpm]
+ruby-dev [test platform:dpkg]
diff --git a/tox.ini b/tox.ini
index fc916874d..61b3db7f9 100644
--- a/tox.ini
+++ b/tox.ini
@@ -33,6 +33,14 @@ commands =
          -i E006          \
          -e 'E*'"
 
+[testenv:bindep]
+# Do not install any requirements. We want this to be fast and work even if
+# system dependencies are missing, since it's used to tell you what system
+# dependencies are missing! This also means that bindep must be installed
+# separately, outside of the requirements files.
+deps = bindep
+commands = bindep test
+
 [testenv:linters]
 # Note: centos developer env requires ruby-devel
 # Ubuntu developer env requires ruby-dev