Blob Blame History Raw
diff --git a/tests/integration/test_cli.py b/tests/integration/test_cli.py
index 7ebcee1..fc09de5 100644
--- a/tests/integration/test_cli.py
+++ b/tests/integration/test_cli.py
@@ -17,6 +17,7 @@ def test_pipenv_where(PipenvInstance, pypi_secure):
         assert normalize_drive(p.path) in c.out
 
 
+@pytest.mark.rpmfail
 @pytest.mark.cli
 def test_pipenv_venv(PipenvInstance):
     with PipenvInstance() as p:
@@ -47,6 +48,7 @@ def test_pipenv_support(PipenvInstance):
         assert c.out
 
 
+@pytest.mark.rpmfail
 @pytest.mark.cli
 def test_pipenv_rm(PipenvInstance):
     with PipenvInstance() as p:
@@ -63,6 +65,7 @@ def test_pipenv_rm(PipenvInstance):
         assert not os.path.isdir(venv_path)
 
 
+@pytest.mark.rpmfail
 @pytest.mark.cli
 def test_pipenv_graph(PipenvInstance, pypi):
     with PipenvInstance(pypi=pypi) as p:
@@ -79,6 +82,7 @@ def test_pipenv_graph(PipenvInstance, pypi):
         assert "requests" in graph_json_tree.out
 
 
+@pytest.mark.rpmfail
 @pytest.mark.cli
 def test_pipenv_graph_reverse(PipenvInstance, pypi):
     with PipenvInstance(pypi=pypi) as p:
@@ -125,6 +129,7 @@ def test_pipenv_check(PipenvInstance, pypi):
         assert 'Ignoring' in c.err
 
 
+@pytest.mark.rpmfail
 @pytest.mark.cli
 def test_pipenv_clean_pip_no_warnings(PipenvInstance):
     with PipenvInstance(chdir=True) as p:
diff --git a/tests/integration/test_dot_venv.py b/tests/integration/test_dot_venv.py
index 53f5fb1..1b885fd 100644
--- a/tests/integration/test_dot_venv.py
+++ b/tests/integration/test_dot_venv.py
@@ -8,6 +8,7 @@ from pipenv.vendor import delegator
 import pytest
 
 
+@pytest.mark.rpmfail
 @pytest.mark.dotvenv
 def test_venv_in_project(PipenvInstance, pypi):
     with temp_environ():
@@ -18,6 +19,7 @@ def test_venv_in_project(PipenvInstance, pypi):
             assert normalize_drive(p.path) in p.pipenv('--venv').out
 
 
+@pytest.mark.rpmfail
 @pytest.mark.dotvenv
 def test_venv_at_project_root(PipenvInstance):
     with temp_environ():
@@ -33,6 +35,7 @@ def test_venv_at_project_root(PipenvInstance):
             assert normalize_drive(p.path) in p.pipenv('--venv').out
 
 
+@pytest.mark.rpmfail
 @pytest.mark.dotvenv
 def test_reuse_previous_venv(PipenvInstance, pypi):
     with PipenvInstance(chdir=True, pypi=pypi) as p:
diff --git a/tests/integration/test_install_basic.py b/tests/integration/test_install_basic.py
index 25cb55e..d6a0592 100644
--- a/tests/integration/test_install_basic.py
+++ b/tests/integration/test_install_basic.py
@@ -28,7 +28,7 @@ def test_basic_setup(PipenvInstance, pypi):
 
 
 @pytest.mark.install
-@flaky
+@pytest.mark.rpmfail
 def test_basic_install(PipenvInstance, pypi):
     with PipenvInstance(pypi=pypi) as p:
         c = p.pipenv("install requests")
@@ -41,8 +41,8 @@ def test_basic_install(PipenvInstance, pypi):
         assert "certifi" in p.lockfile["default"]
 
 
+@pytest.mark.rpmfail
 @pytest.mark.install
-@flaky
 def test_mirror_install(PipenvInstance, pypi):
     with temp_environ(), PipenvInstance(chdir=True, pypi=pypi) as p:
         mirror_url = os.environ.pop(
@@ -92,7 +92,7 @@ def test_complex_lock(PipenvInstance, pypi):
 
 @pytest.mark.dev
 @pytest.mark.run
-@flaky
+@pytest.mark.rpmfail
 def test_basic_dev_install(PipenvInstance, pypi):
     with PipenvInstance(pypi=pypi) as p:
         c = p.pipenv("install requests --dev")
@@ -110,7 +110,7 @@ def test_basic_dev_install(PipenvInstance, pypi):
 
 @pytest.mark.dev
 @pytest.mark.install
-@flaky
+@pytest.mark.rpmfail
 def test_install_without_dev(PipenvInstance, pypi):
     """Ensure that running `pipenv install` doesn't install dev packages"""
     with PipenvInstance(pypi=pypi, chdir=True) as p:
@@ -136,7 +136,7 @@ pytz = "*"
 
 
 @pytest.mark.install
-@flaky
+@pytest.mark.rpmfail
 def test_install_without_dev_section(PipenvInstance, pypi):
     with PipenvInstance(pypi=pypi) as p:
         with open(p.pipfile_path, "w") as f:
@@ -157,7 +157,7 @@ six = "*"
 
 @pytest.mark.extras
 @pytest.mark.install
-@flaky
+@pytest.mark.rpmfail
 def test_extras_install(PipenvInstance, pypi):
     with PipenvInstance(pypi=pypi, chdir=True) as p:
         c = p.pipenv("install requests[socks]")
@@ -174,7 +174,7 @@ def test_extras_install(PipenvInstance, pypi):
 
 @pytest.mark.install
 @pytest.mark.pin
-@flaky
+@pytest.mark.rpmfail
 def test_windows_pinned_pipfile(PipenvInstance, pypi):
     with PipenvInstance(pypi=pypi) as p:
         with open(p.pipfile_path, "w") as f:
@@ -192,7 +192,7 @@ requests = "==2.19.1"
 @pytest.mark.install
 @pytest.mark.resolver
 @pytest.mark.backup_resolver
-@flaky
+@pytest.mark.rpmfail
 def test_backup_resolver(PipenvInstance, pypi):
     with PipenvInstance(pypi=pypi) as p:
         with open(p.pipfile_path, "w") as f:
@@ -209,7 +209,7 @@ def test_backup_resolver(PipenvInstance, pypi):
 
 @pytest.mark.run
 @pytest.mark.alt
-@flaky
+@pytest.mark.rpmfail
 def test_alternative_version_specifier(PipenvInstance, pypi):
     with PipenvInstance(pypi=pypi) as p:
         with open(p.pipfile_path, "w") as f:
@@ -324,6 +324,7 @@ tablib = "<0.12"
         assert "requests" not in p.lockfile["default"]
 
 
+@pytest.mark.rpmfail
 @pytest.mark.cli
 @pytest.mark.clean
 def test_clean_on_empty_venv(PipenvInstance, pypi):
@@ -332,6 +333,7 @@ def test_clean_on_empty_venv(PipenvInstance, pypi):
         assert c.return_code == 0
 
 
+@pytest.mark.rpmfail
 @pytest.mark.install
 def test_install_does_not_extrapolate_environ(PipenvInstance, pypi):
     """Ensure environment variables are not expanded in lock file.
@@ -396,6 +398,7 @@ def test_install_venv_project_directory(PipenvInstance, pypi):
             assert venv_loc.joinpath(".project").exists()
 
 
+@pytest.mark.rpmfail
 @pytest.mark.deploy
 @pytest.mark.system
 def test_system_and_deploy_work(PipenvInstance, pypi):
diff --git a/tests/integration/test_install_markers.py b/tests/integration/test_install_markers.py
index 0967026..e40d8c5 100644
--- a/tests/integration/test_install_markers.py
+++ b/tests/integration/test_install_markers.py
@@ -62,7 +62,7 @@ depends-on-marked-package = "*"
 @pytest.mark.run
 @pytest.mark.alt
 @pytest.mark.install
-@flaky
+@pytest.mark.rpmfail
 def test_specific_package_environment_markers(PipenvInstance, pypi):
 
     with PipenvInstance(pypi=pypi) as p:
@@ -84,7 +84,7 @@ requests = {version = "*", os_name = "== 'splashwear'"}
 
 
 @pytest.mark.markers
-@flaky
+@pytest.mark.rpmfail
 def test_top_level_overrides_environment_markers(PipenvInstance, pypi):
     """Top-level environment markers should take precedence.
     """
@@ -105,7 +105,7 @@ funcsigs = {version = "*", os_name = "== 'splashwear'"}
 
 @pytest.mark.markers
 @pytest.mark.install
-@flaky
+@pytest.mark.rpmfail
 def test_global_overrides_environment_markers(PipenvInstance, pypi):
     """Empty (unconditional) dependency should take precedence.
     If a dependency is specified without environment markers, it should
@@ -130,7 +130,7 @@ funcsigs = "*"
 
 @pytest.mark.lock
 @pytest.mark.complex
-@flaky
+@pytest.mark.rpmfail
 @py3_only
 @skip_py37
 def test_resolver_unique_markers(PipenvInstance, pypi):
@@ -154,7 +154,7 @@ def test_resolver_unique_markers(PipenvInstance, pypi):
 
 
 @pytest.mark.project
-@flaky
+@pytest.mark.rpmfail
 def test_environment_variable_value_does_not_change_hash(PipenvInstance, pypi):
     with PipenvInstance(chdir=True, pypi=pypi) as p:
         with temp_environ():
diff --git a/tests/integration/test_install_twists.py b/tests/integration/test_install_twists.py
index 4a62304..ccfb9ef 100644
--- a/tests/integration/test_install_twists.py
+++ b/tests/integration/test_install_twists.py
@@ -138,7 +138,7 @@ def test_e_dot(PipenvInstance, pip_src_dir):
 
 
 @pytest.mark.install
-@flaky
+@pytest.mark.rpmfail
 def test_multiprocess_bug_and_install(PipenvInstance, pypi):
     with temp_environ():
         os.environ["PIPENV_MAX_SUBPROCESS"] = "2"
@@ -166,7 +166,7 @@ urllib3 = "*"
 
 @pytest.mark.sequential
 @pytest.mark.install
-@flaky
+@pytest.mark.rpmfail
 def test_sequential_mode(PipenvInstance, pypi):
 
     with PipenvInstance(pypi=pypi, chdir=True) as p:
@@ -190,6 +190,7 @@ pytz = "*"
         assert c.return_code == 0
 
 
+@pytest.mark.rpmfail
 @pytest.mark.install
 @pytest.mark.run
 def test_normalize_name_install(PipenvInstance, pypi):
@@ -224,7 +225,7 @@ Requests = "==2.14.0"   # Inline comment
 @pytest.mark.files
 @pytest.mark.resolver
 @pytest.mark.eggs
-@flaky
+@pytest.mark.rpmfail
 def test_local_package(PipenvInstance, pip_src_dir, pypi, testsroot):
     """This test ensures that local packages (directories with a setup.py)
     installed in editable mode have their dependencies resolved as well"""
@@ -249,7 +250,7 @@ def test_local_package(PipenvInstance, pip_src_dir, pypi, testsroot):
 
 
 @pytest.mark.files
-@flaky
+@pytest.mark.rpmfail
 def test_local_zipfiles(PipenvInstance, pypi, testsroot):
     file_name = "requests-2.19.1.tar.gz"
     # Not sure where travis/appveyor run tests from
@@ -274,7 +275,7 @@ def test_local_zipfiles(PipenvInstance, pypi, testsroot):
 
 
 @pytest.mark.files
-@flaky
+@pytest.mark.rpmfail
 def test_relative_paths(PipenvInstance, pypi, testsroot):
     file_name = "requests-2.19.1.tar.gz"
     source_path = os.path.abspath(os.path.join(testsroot, "test_artifacts", file_name))
@@ -297,7 +298,7 @@ def test_relative_paths(PipenvInstance, pypi, testsroot):
 
 @pytest.mark.install
 @pytest.mark.local_file
-@flaky
+@pytest.mark.rpmfail
 def test_install_local_file_collision(PipenvInstance, pypi):
     with PipenvInstance(pypi=pypi) as p:
         target_package = "alembic"
@@ -335,6 +336,7 @@ six = {{path = "./artifacts/{}"}}
         assert "six" in p.lockfile["default"]
 
 
+@pytest.mark.rpmfail
 @pytest.mark.files
 @pytest.mark.install
 @pytest.mark.run
diff --git a/tests/integration/test_install_uri.py b/tests/integration/test_install_uri.py
index 35cdb00..3b0a590 100644
--- a/tests/integration/test_install_uri.py
+++ b/tests/integration/test_install_uri.py
@@ -8,7 +8,7 @@ from pipenv._compat import Path
 @pytest.mark.vcs
 @pytest.mark.install
 @pytest.mark.needs_internet
-@flaky
+@pytest.mark.rpmfail
 def test_basic_vcs_install(PipenvInstance, pip_src_dir, pypi):
     with PipenvInstance(pypi=pypi, chdir=True) as p:
         c = p.pipenv("install git+https://github.com/benjaminp/six.git@1.11.0#egg=six")
@@ -61,7 +61,7 @@ def test_ssh_vcs_install(PipenvInstance, pip_src_dir, pypi):
 @pytest.mark.files
 @pytest.mark.urls
 @pytest.mark.needs_internet
-@flaky
+@pytest.mark.rpmfail
 def test_urls_work(PipenvInstance, pypi, pip_src_dir):
     with PipenvInstance(pypi=pypi, chdir=True) as p:
         path = p._pipfile.get_url("django", "3.4.x.zip")
@@ -116,7 +116,7 @@ def test_local_vcs_urls_work(PipenvInstance, pypi, tmpdir):
 @pytest.mark.vcs
 @pytest.mark.install
 @pytest.mark.needs_internet
-@flaky
+@pytest.mark.rpmfail
 def test_editable_vcs_install(PipenvInstance, pip_src_dir, pypi):
     with PipenvInstance(pypi=pypi) as p:
         c = p.pipenv(
@@ -137,7 +137,7 @@ def test_editable_vcs_install(PipenvInstance, pip_src_dir, pypi):
 @pytest.mark.vcs
 @pytest.mark.tablib
 @pytest.mark.needs_internet
-@flaky
+@pytest.mark.rpmfail
 def test_install_editable_git_tag(PipenvInstance, pip_src_dir, pypi):
     # This uses the real PyPI since we need Internet to access the Git
     # dependency anyway.
diff --git a/tests/integration/test_lock.py b/tests/integration/test_lock.py
index 6080c29..5092e40 100644
--- a/tests/integration/test_lock.py
+++ b/tests/integration/test_lock.py
@@ -24,6 +24,7 @@ RandomWords = "*"
         assert p.lockfile['default']['randomwords']['version'] == '==0.2.1'
 
 
+@pytest.mark.rpmfail
 @pytest.mark.lock
 @pytest.mark.requirements
 def test_lock_requirements_file(PipenvInstance, pypi):
@@ -54,6 +55,7 @@ flask = "==0.12.2"
             assert req in d.out
 
 
+@pytest.mark.rpmfail
 @pytest.mark.lock
 def test_lock_keep_outdated(PipenvInstance, pypi):
 
@@ -126,6 +128,7 @@ requests = {git = "https://github.com/requests/requests.git"}
         assert 'python_dateutil' not in lock['develop']
 
 
+@pytest.mark.rpmfail
 @pytest.mark.lock
 @pytest.mark.requirements
 def test_lock_with_prereleases(PipenvInstance, pypi):
@@ -150,7 +153,7 @@ allow_prereleases = true
 @pytest.mark.complex
 @pytest.mark.maya
 @pytest.mark.needs_internet
-@flaky
+@pytest.mark.rpmfail
 def test_complex_deps_lock_and_install_properly(PipenvInstance, pip_src_dir, pypi):
     # This uses the real PyPI because Maya has too many dependencies...
     with PipenvInstance(chdir=True, pypi=pypi) as p:
@@ -315,6 +318,7 @@ requests = "*"
         assert '--extra-index-url {}'.format(mirror_url) not in c.out.strip()
 
 
+@pytest.mark.rpmfail
 @pytest.mark.install
 @pytest.mark.index
 def test_lock_updated_source(PipenvInstance, pypi):
@@ -489,6 +493,7 @@ def test_lockfile_with_empty_dict(PipenvInstance):
         assert p.lockfile['_meta']
 
 
+@pytest.mark.rpmfail
 @pytest.mark.lock
 @pytest.mark.install
 def test_lock_with_incomplete_source(PipenvInstance, pypi):
@@ -542,6 +547,7 @@ def test_lock_missing_cache_entries_gets_all_hashes(monkeypatch, PipenvInstance,
             assert len(p.lockfile["default"]["scandir"]["hashes"]) > 1
 
 
+@pytest.mark.rpmfail
 @pytest.mark.lock
 @pytest.mark.vcs
 def test_vcs_lock_respects_top_level_pins(PipenvInstance, pypi):
diff --git a/tests/integration/test_pipenv.py b/tests/integration/test_pipenv.py
index cb7b924..b4c7780 100644
--- a/tests/integration/test_pipenv.py
+++ b/tests/integration/test_pipenv.py
@@ -26,6 +26,7 @@ def test_code_import_manual(PipenvInstance):
         assert 'requests' in p.pipfile['packages']
 
 
+@pytest.mark.rpmfail
 @pytest.mark.lock
 @pytest.mark.deploy
 @pytest.mark.cli
@@ -60,6 +61,7 @@ requests = "==2.14.0"
         assert c.return_code > 0
 
 
+@pytest.mark.rpmfail
 @pytest.mark.update
 @pytest.mark.lock
 def test_update_locks(PipenvInstance, pypi):
diff --git a/tests/integration/test_project.py b/tests/integration/test_project.py
index 8bb76da..c124c6b 100644
--- a/tests/integration/test_project.py
+++ b/tests/integration/test_project.py
@@ -30,6 +30,7 @@ pytz = "*"
             assert 'localhost:5000' not in str(pipfile.load(p.pipfile_path))
 
 
+@pytest.mark.rpmfail
 @pytest.mark.project
 @pytest.mark.sources
 @pytest.mark.parametrize('lock_first', [True, False])
@@ -77,6 +78,7 @@ six = {{version = "*", index = "pypi"}}
             assert sorted(source.items()) == sorted(project.find_source(url).items())
 
 
+@pytest.mark.rpmfail
 @pytest.mark.install
 @pytest.mark.project
 @pytest.mark.parametrize('newlines', [u'\n', u'\r\n'])
@@ -114,6 +116,7 @@ def test_maintain_file_line_endings(PipenvInstance, pypi, newlines):
             # message because of  https://github.com/pytest-dev/pytest/issues/3443
 
 
+@pytest.mark.rpmfail
 @pytest.mark.project
 @pytest.mark.sources
 def test_many_indexes(PipenvInstance, pypi):
@@ -182,6 +185,7 @@ def test_include_editable_packages(PipenvInstance, pypi, testsroot, pathlib_tmpd
         ]
 
 
+@pytest.mark.rpmfail
 @pytest.mark.project
 def test_run_in_virtualenv(PipenvInstance, pypi, virtualenv):
     with PipenvInstance(chdir=True, pypi=pypi) as p:
diff --git a/tests/integration/test_run.py b/tests/integration/test_run.py
index 8e82a6e..bf7fbef 100644
--- a/tests/integration/test_run.py
+++ b/tests/integration/test_run.py
@@ -6,6 +6,7 @@ from pipenv.utils import temp_environ
 import pytest
 
 
+@pytest.mark.rpmfail
 @pytest.mark.run
 @pytest.mark.dotenv
 def test_env(PipenvInstance):
@@ -18,6 +19,7 @@ def test_env(PipenvInstance):
         assert 'WORLD' in c.out
 
 
+@pytest.mark.rpmfail
 @pytest.mark.run
 def test_scripts(PipenvInstance):
     with PipenvInstance(chdir=True) as p:
diff --git a/tests/integration/test_sync.py b/tests/integration/test_sync.py
index 2ef06dd..3533fb3 100644
--- a/tests/integration/test_sync.py
+++ b/tests/integration/test_sync.py
@@ -18,6 +18,7 @@ def test_sync_error_without_lockfile(PipenvInstance, pypi):
         assert 'Pipfile.lock not found!' in c.err
 
 
+@pytest.mark.rpmfail
 @pytest.mark.sync
 @pytest.mark.lock
 def test_mirror_lock_sync(PipenvInstance, pypi):
diff --git a/tests/integration/test_uninstall.py b/tests/integration/test_uninstall.py
index 5f493ca..c84f1fc 100644
--- a/tests/integration/test_uninstall.py
+++ b/tests/integration/test_uninstall.py
@@ -6,6 +6,7 @@ from pipenv.utils import temp_environ
 import pytest
 
 
+@pytest.mark.rpmfail
 @pytest.mark.run
 @pytest.mark.uninstall
 @pytest.mark.install
@@ -33,6 +34,7 @@ def test_uninstall(PipenvInstance, pypi):
         assert c.return_code > 0
 
 
+@pytest.mark.rpmfail
 @pytest.mark.run
 @pytest.mark.uninstall
 @pytest.mark.install
@@ -76,6 +78,7 @@ def test_mirror_uninstall(PipenvInstance, pypi):
         assert c.return_code > 0
 
 
+@pytest.mark.rpmfail
 @pytest.mark.files
 @pytest.mark.uninstall
 @pytest.mark.install
@@ -97,6 +100,7 @@ def test_uninstall_all_local_files(PipenvInstance, testsroot):
         assert "requests" in p.pipfile["packages"]
 
 
+@pytest.mark.rpmfail
 @pytest.mark.run
 @pytest.mark.uninstall
 @pytest.mark.install
@@ -131,6 +135,7 @@ def test_uninstall_all_dev(PipenvInstance, pypi):
         assert c.return_code == 0
 
 
+@pytest.mark.rpmfail
 @pytest.mark.uninstall
 @pytest.mark.run
 def test_normalize_name_uninstall(PipenvInstance, pypi):
diff --git a/tests/unit/test_utils.py b/tests/unit/test_utils.py
index 422c100..4a35c5d 100644
--- a/tests/unit/test_utils.py
+++ b/tests/unit/test_utils.py
@@ -215,6 +215,7 @@ class TestUtils:
         assert pipenv.utils.is_valid_url(not_url) is False
 
     @pytest.mark.utils
+    @pytest.mark.rpmfail
     def test_download_file(self):
         url = "https://github.com/kennethreitz/pipenv/blob/master/README.md"
         output = "test_download.md"
@@ -263,6 +264,7 @@ twine = "*"
     def test_win_normalize_drive(self, input_path, expected):
         assert pipenv.utils.normalize_drive(input_path) == expected
 
+    @pytest.mark.rpmfail
     @pytest.mark.utils
     @pytest.mark.parametrize(
         "input_path, expected",