tests: clean up chmod-related tests to fix rm_rf warnings
Fixed https://github.com/pytest-dev/pytest/issues/5974#issuecomment-549822509.
This commit is contained in:
		
							parent
							
								
									0794289689
								
							
						
					
					
						commit
						262ed567d0
					
				| 
						 | 
					@ -1,5 +1,6 @@
 | 
				
			||||||
import os
 | 
					import os
 | 
				
			||||||
import shutil
 | 
					import shutil
 | 
				
			||||||
 | 
					import stat
 | 
				
			||||||
import sys
 | 
					import sys
 | 
				
			||||||
import textwrap
 | 
					import textwrap
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -45,14 +46,17 @@ class TestNewAPI:
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
    def test_cache_writefail_permissions(self, testdir):
 | 
					    def test_cache_writefail_permissions(self, testdir):
 | 
				
			||||||
        testdir.makeini("[pytest]")
 | 
					        testdir.makeini("[pytest]")
 | 
				
			||||||
 | 
					        mode = os.stat(testdir.tmpdir.ensure_dir(".pytest_cache"))[stat.ST_MODE]
 | 
				
			||||||
        testdir.tmpdir.ensure_dir(".pytest_cache").chmod(0)
 | 
					        testdir.tmpdir.ensure_dir(".pytest_cache").chmod(0)
 | 
				
			||||||
        config = testdir.parseconfigure()
 | 
					        config = testdir.parseconfigure()
 | 
				
			||||||
        cache = config.cache
 | 
					        cache = config.cache
 | 
				
			||||||
        cache.set("test/broken", [])
 | 
					        cache.set("test/broken", [])
 | 
				
			||||||
 | 
					        testdir.tmpdir.ensure_dir(".pytest_cache").chmod(mode)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @pytest.mark.skipif(sys.platform.startswith("win"), reason="no chmod on windows")
 | 
					    @pytest.mark.skipif(sys.platform.startswith("win"), reason="no chmod on windows")
 | 
				
			||||||
    @pytest.mark.filterwarnings("default")
 | 
					    @pytest.mark.filterwarnings("default")
 | 
				
			||||||
    def test_cache_failure_warns(self, testdir):
 | 
					    def test_cache_failure_warns(self, testdir):
 | 
				
			||||||
 | 
					        mode = os.stat(testdir.tmpdir.ensure_dir(".pytest_cache"))[stat.ST_MODE]
 | 
				
			||||||
        testdir.tmpdir.ensure_dir(".pytest_cache").chmod(0)
 | 
					        testdir.tmpdir.ensure_dir(".pytest_cache").chmod(0)
 | 
				
			||||||
        testdir.makepyfile(
 | 
					        testdir.makepyfile(
 | 
				
			||||||
            """
 | 
					            """
 | 
				
			||||||
| 
						 | 
					@ -62,6 +66,7 @@ class TestNewAPI:
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        result = testdir.runpytest("-rw")
 | 
					        result = testdir.runpytest("-rw")
 | 
				
			||||||
 | 
					        testdir.tmpdir.ensure_dir(".pytest_cache").chmod(mode)
 | 
				
			||||||
        assert result.ret == 1
 | 
					        assert result.ret == 1
 | 
				
			||||||
        # warnings from nodeids, lastfailed, and stepwise
 | 
					        # warnings from nodeids, lastfailed, and stepwise
 | 
				
			||||||
        result.stdout.fnmatch_lines(["*could not create cache path*", "*3 warnings*"])
 | 
					        result.stdout.fnmatch_lines(["*could not create cache path*", "*3 warnings*"])
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue