GitHub Actions / unit-test-results
failed
Nov 8, 2024 in 0s
1 fail, 16 pass in 1m 11s
6 files 6 suites 1m 11s ⏱️
17 tests 16 ✅ 0 💤 1 ❌
102 runs 98 ✅ 2 💤 2 ❌
Results for commit 5ddaef2.
Annotations
Check warning on line 0 in test.integration_tests.dnsrobocert_test
github-actions / unit-test-results
2 out of 6 runs failed: test_it (test.integration_tests.dnsrobocert_test)
artifacts/unit-test-results-windows-latest-3.12/test-results.xml [took 0s]
artifacts/unit-test-results-windows-latest-3.8/test-results.xml [took 0s]
Raw output
NotADirectoryError: [WinError 267] The directory name is invalid: 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\tmpe3hsv2jh\\archive.tar.gz'
asset = 'pebble', os_kind = 'windows', arch = 'amd64', suffix = '.exe'
def _fetch_asset(asset: str, os_kind: str, arch: str, suffix: str) -> str:
asset_path = os.path.join(
_ASSETS_PATH, f"{asset}-{_PEBBLE_VERSION}-{os_kind}-{arch}{suffix}"
)
if not os.path.exists(asset_path):
with tempfile.TemporaryDirectory() as workdir:
archive_path = os.path.join(workdir, "archive.tar.gz")
asset_url = f"https://github.com/letsencrypt/pebble/releases/download/{_PEBBLE_VERSION}/{asset}-{os_kind}-{arch}.tar.gz"
response = requests.get(asset_url)
response.raise_for_status()
with open(archive_path, "wb") as file_h:
file_h.write(response.content)
archive = tarfile.open(archive_path)
archive.extractall(workdir)
> shutil.copyfile(
os.path.join(
workdir, f"{asset}-{os_kind}-{arch}", os_kind, arch, asset
),
asset_path,
)
test\integration_tests\dnsrobocert_test.py:62:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
src = 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\tmpe3hsv2jh\\pebble-windows-amd64\\windows\\amd64\\pebble'
dst = 'D:\\a\\dnsrobocert\\dnsrobocert\\test\\assets\\pebble-v2.6.0-windows-amd64.exe'
def copyfile(src, dst, *, follow_symlinks=True):
"""Copy data from src to dst in the most efficient way possible.
If follow_symlinks is not set and src is a symbolic link, a new
symlink will be created instead of copying the file it points to.
"""
sys.audit("shutil.copyfile", src, dst)
if _samefile(src, dst):
raise SameFileError("{!r} and {!r} are the same file".format(src, dst))
file_size = 0
for i, fn in enumerate([src, dst]):
try:
st = _stat(fn)
except OSError:
# File most likely does not exist
pass
else:
# XXX What about other special files? (sockets, devices...)
if stat.S_ISFIFO(st.st_mode):
fn = fn.path if isinstance(fn, os.DirEntry) else fn
raise SpecialFileError("`%s` is a named pipe" % fn)
if _WINDOWS and i == 0:
file_size = st.st_size
if not follow_symlinks and _islink(src):
os.symlink(os.readlink(src), dst)
else:
> with open(src, 'rb') as fsrc, open(dst, 'wb') as fdst:
E FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\tmpe3hsv2jh\\pebble-windows-amd64\\windows\\amd64\\pebble'
C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\shutil.py:264: FileNotFoundError
During handling of the above exception, another exception occurred:
path = 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\tmpe3hsv2jh'
onerror = <function TemporaryDirectory._rmtree.<locals>.onerror at 0x0000019ECA6BBD30>
def _rmtree_unsafe(path, onerror):
try:
with os.scandir(path) as scandir_it:
entries = list(scandir_it)
except OSError:
onerror(os.scandir, path, sys.exc_info())
entries = []
for entry in entries:
fullname = entry.path
if _rmtree_isdir(entry):
try:
if entry.is_symlink():
# This can only happen if someone replaces
# a directory with a symlink after the call to
# os.scandir or entry.is_dir above.
raise OSError("Cannot call rmtree on a symbolic link")
except OSError:
onerror(os.path.islink, fullname, sys.exc_info())
continue
_rmtree_unsafe(fullname, onerror)
else:
try:
> os.unlink(fullname)
E PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\tmpe3hsv2jh\\archive.tar.gz'
C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\shutil.py:616: PermissionError
During handling of the above exception, another exception occurred:
func = <built-in function unlink>
path = 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\tmpe3hsv2jh\\archive.tar.gz'
exc_info = (<class 'PermissionError'>, PermissionError(13, 'The process cannot access the file because it is being used by another process'), <traceback object at 0x0000019ECA6BA5C0>)
def onerror(func, path, exc_info):
if issubclass(exc_info[0], PermissionError):
def resetperms(path):
try:
_os.chflags(path, 0)
except AttributeError:
pass
_os.chmod(path, 0o700)
try:
if path != name:
resetperms(_os.path.dirname(path))
resetperms(path)
try:
> _os.unlink(path)
E PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\tmpe3hsv2jh\\archive.tar.gz'
C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\tempfile.py:802: PermissionError
During handling of the above exception, another exception occurred:
tmp_path = WindowsPath('C:/Users/runneradmin/AppData/Local/Temp/pytest-of-unknown/pytest-0/test_it0')
@skipIf(
platform.system() == "Darwin",
reason="Integration tests are not supported on Mac OS X.",
)
def test_it(tmp_path: Path) -> None:
> with _start_pebble(tmp_path):
test\integration_tests\dnsrobocert_test.py:168:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\contextlib.py:113: in __enter__
return next(self.gen)
test\integration_tests\dnsrobocert_test.py:112: in _start_pebble
pebble_path, challtestsrv_path, pebble_config_path = _fetch(str(workspace))
test\integration_tests\dnsrobocert_test.py:40: in _fetch
pebble_path = _fetch_asset("pebble", os_kind, arch, suffix)
test\integration_tests\dnsrobocert_test.py:62: in _fetch_asset
shutil.copyfile(
C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\tempfile.py:827: in __exit__
self.cleanup()
C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\tempfile.py:831: in cleanup
self._rmtree(self.name)
C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\tempfile.py:813: in _rmtree
_shutil.rmtree(name, onerror=onerror)
C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\shutil.py:740: in rmtree
return _rmtree_unsafe(path, onerror)
C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\shutil.py:618: in _rmtree_unsafe
onerror(os.unlink, fullname, sys.exc_info())
C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\tempfile.py:805: in onerror
cls._rmtree(path)
C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\tempfile.py:813: in _rmtree
_shutil.rmtree(name, onerror=onerror)
C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\shutil.py:740: in rmtree
return _rmtree_unsafe(path, onerror)
C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\shutil.py:599: in _rmtree_unsafe
onerror(os.scandir, path, sys.exc_info())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
path = 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\tmpe3hsv2jh\\archive.tar.gz'
onerror = <function TemporaryDirectory._rmtree.<locals>.onerror at 0x0000019ECA6BBDC0>
def _rmtree_unsafe(path, onerror):
try:
> with os.scandir(path) as scandir_it:
E NotADirectoryError: [WinError 267] The directory name is invalid: 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\tmpe3hsv2jh\\archive.tar.gz'
C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\shutil.py:596: NotADirectoryError
Check notice on line 0 in .github
github-actions / unit-test-results
17 tests found
There are 17 tests, see "Raw output" for the full list of tests.
Raw output
test.integration_tests.dnsrobocert_test ‑ test_it
test.unit_tests.config_test ‑ test_bad_config_duplicated_cert_name
test.unit_tests.config_test ‑ test_bad_config_non_existent_profile
test.unit_tests.config_test ‑ test_bad_config_wrong_posix_mode
test.unit_tests.config_test ‑ test_bad_config_wrong_schema
test.unit_tests.config_test ‑ test_environment_variable_injection
test.unit_tests.config_test ‑ test_good_config_minimal
test.unit_tests.config_test ‑ test_wildcard_lineage
test.unit_tests.hooks_test ‑ test_auth_cli
test.unit_tests.hooks_test ‑ test_autocmd
test.unit_tests.hooks_test ‑ test_autorestart
test.unit_tests.hooks_test ‑ test_cleanup_cli
test.unit_tests.hooks_test ‑ test_deploy_cli
test.unit_tests.hooks_test ‑ test_fix_permissions
test.unit_tests.hooks_test ‑ test_pfx
test.unit_tests.legacy_test ‑ test_legacy_migration
test.unit_tests.main_test ‑ test_main_loop
Loading