Moved to tox

Some repos were not migrated to Python3
and installed python2.7 and python3 causes mixes
package versions in several  virtualenv's

Change-Id: I00fc5c88609a6da3ae6ae3bb761e2ec003f66db2
Related-Prod:#PROD-34723(PROD:34723)
diff --git a/Dockerfile b/Dockerfile
index db08a11..de6bd6f 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -19,7 +19,7 @@
 COPY bin/ /usr/local/bin/
 COPY test_set/ ./
 #
-RUN set -ex; pushd /etc/apt/ && echo > sources.list && \
+RUN set -exo pipefail; pushd /etc/apt/ && echo > sources.list && \
     echo 'Acquire::Languages "none";' > apt.conf.d/docker-no-languages && \
     echo 'Acquire::GzipIndexes "true"; Acquire::CompressionTypes::Order:: "gz";' > apt.conf.d/docker-gzip-indexes && \
     echo 'APT::Get::Install-Recommends "false"; APT::Get::Install-Suggests "false";' > apt.conf.d/docker-recommends && \
@@ -31,33 +31,16 @@
     python-virtualenv \
 # Enable these packages while porting to Python3  =>  python3-virtualenv python3-dev  \
 # Due to upstream bug we should use fixed version of pip
-    && python -m pip install --upgrade 'pip==19.3.1'  \
-    # initialize cvp sanity test suite
-          && pushd cvp-sanity  \
-          && virtualenv --python=python3  venv \
-          && . venv/bin/activate \
-          && pip3 install -r requirements.txt \
-          && deactivate \
-          && popd \
-    # initialize cvp spt test suite
-          && pushd cvp-spt  \
-          && virtualenv --python=python2  venv \
-          && . venv/bin/activate \
-          && pip install -r requirements.txt \
-          && deactivate \
-          && popd  \
+    && pip install -U pip==20.0.2  \
+    && pip install tox  \
     # initialize cvp stacklight test suite
-          && mkdir cvp-stacklight \
-          && pushd cvp-stacklight  \
-          && virtualenv --system-site-packages venv \
-          && . venv/bin/activate \
-          && git clone -b $SL_TEST_BRANCH $SL_TEST_REPO  \
-          && pushd stacklight-pytest \
-          && git log -n1 \
-          && pip install . \
-          && pip install -r requirements.txt  \
-          && deactivate \
-          && popd && popd  \
+        && mkdir cvp-stacklight \
+        && pushd cvp-stacklight  \
+        && git clone -b $SL_TEST_BRANCH $SL_TEST_REPO  \
+        && pushd stacklight-pytest \
+        && git log -n1 \
+        && popd && popd  \
+        && tox --recreate \
 # Cleanup
     && apt-get -y purge libx11-data xauth libxmuu1 libxcb1 libx11-6 libxext6 ppp pppconfig pppoeconf popularity-contest cpp gcc g++ libssl-doc && \
     apt-get -y autoremove; apt-get -y clean ; rm -rf /root/.cache; rm -rf /var/lib/apt/lists/* && \
diff --git a/test_set/tox.ini b/test_set/tox.ini
new file mode 100644
index 0000000..b68781e
--- /dev/null
+++ b/test_set/tox.ini
@@ -0,0 +1,26 @@
+[tox]
+envlist = cvp-sanity,cvp-spt,cvp-stacklight
+skipsdist = TRUE
+deps = pip==20.0.2
+       setuptools
+       wheel
+
+[testenv]
+passenv = *
+commands = {posargs:pytest --version}
+
+[testenv:cvp-sanity]
+basepython = python3.5
+deps = -rcvp-sanity/requirements.txt
+changedir = cvp-sanity
+
+[testenv:cvp-spt]
+basepython = python2.7
+deps = -rcvp-spt/requirements.txt
+changedir = cvp-spt
+
+[testenv:cvp-stacklight]
+basepython = python2.7
+install_command = python -m pip install cvp-stacklight/stacklight-pytest {packages}
+deps = -rcvp-stacklight/stacklight-pytest/requirements.txt
+changedir = cvp-stacklight