diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..ff2cd4c1 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,34 @@ +language: python +python: + - "2.7" +sudo: required +services: + - docker +env: + global: + - PA_TEST_ONLINE_INSTALLER=true + matrix: + - OTHER_TESTS=true + - PRODUCT_TEST_GROUP=0 + - PRODUCT_TEST_GROUP=1 + - PRODUCT_TEST_GROUP=2 + - PRODUCT_TEST_GROUP=3 + - PRODUCT_TEST_GROUP=4 + - PRODUCT_TEST_GROUP=5 + - PRODUCT_TEST_GROUP=6 + - PRODUCT_TEST_GROUP=7 +install: + - pip install --upgrade pip==6.1.1 + - pip install -r requirements.txt +before-script: + - make docker-images +script: + - | + if [ -v PRODUCT_TEST_GROUP ]; then + PRODUCT_TESTS=$(find tests/product/ -name '*py' | grep -v __init__ | xargs wc -l | sort -n | head -n -1 | awk '{print $2}' | awk "NR % 8 == $PRODUCT_TEST_GROUP" | tr '\n' ' ') + tox -e py26 -- -a '!quarantine,!offline_installer' $PRODUCT_TESTS + fi + - | + if [ -v OTHER_TESTS ]; then + make clean lint docs test test-rpm + fi diff --git a/setup.cfg b/setup.cfg index 9610c261..dda3c7b4 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,4 +1,4 @@ [wheel] universal = 0 [nosetests] -verbosity=3 \ No newline at end of file +verbosity=3 diff --git a/tests/product/prestoadmin_installer.py b/tests/product/prestoadmin_installer.py index 2cb2f840..71439a94 100644 --- a/tests/product/prestoadmin_installer.py +++ b/tests/product/prestoadmin_installer.py @@ -78,8 +78,12 @@ def _build_dist_if_necessary(self, cluster, unique=False): self._build_installer_in_docker(cluster, unique=unique) return cluster.get_dist_dir(unique) - def _build_installer_in_docker(self, cluster, online_installer=False, + def _build_installer_in_docker(self, cluster, online_installer=None, unique=False): + if online_installer is None: + paTestOnlineInstaller = os.environ.get('PA_TEST_ONLINE_INSTALLER') + online_installer = paTestOnlineInstaller is not None + container_name = 'installer' installer_container = DockerCluster( container_name, [], DEFAULT_LOCAL_MOUNT_POINT, diff --git a/tests/product/standalone/test_installation.py b/tests/product/standalone/test_installation.py index 5be817ad..7fc56e07 100644 --- a/tests/product/standalone/test_installation.py +++ b/tests/product/standalone/test_installation.py @@ -90,7 +90,7 @@ def test_install_from_different_dir(self): self.cluster.master ) - @attr('smoketest') + @attr('smoketest', 'offline_installer') @docker_only def test_install_on_wrong_os_offline_installer(self): image = 'ubuntu' diff --git a/tests/product/test_installer.py b/tests/product/test_installer.py index fead6721..eed4d8ef 100644 --- a/tests/product/test_installer.py +++ b/tests/product/test_installer.py @@ -53,7 +53,7 @@ def test_online_installer(self): dist_dir=self.centos_container.get_dist_dir(unique=True)) self.run_prestoadmin('--help', raise_error=True) - @attr('smoketest') + @attr('smoketest', 'offline_installer') def test_offline_installer(self): self.pa_installer._build_installer_in_docker( self.centos_container, online_installer=False, unique=True)