test_tarfile_vs_tar fail on macOS (again)
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- Python
- Estrelas
- 77.2k
- Forks
- 36k
- Métricas de merge de PRs
- Métricas de PR pendentes
Descrição
Bug report
Bug description:
Python-3.14 on macOS 26.0 (Tahoe) failed a self-test:
test_tarfile_vs_tar (test.test_shutil.TestArchives.test_tarfile_vs_tar) ... tar: unrecognized option '--no-mac-metadata'
Try 'tar --help' or 'tar --usage' for more information.
ERROR
The full detail is:
======================================================================
ERROR: test_tarfile_vs_tar (test.test_shutil.TestArchives.test_tarfile_vs_tar)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/opt/sw/build.build/python314-3.14.0-1/Python-3.14.0/Lib/test/test_shutil.py", line 1752, in test_tarfile_vs_tar
subprocess.check_call(tar_cmd, cwd=root_dir,
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
stdout=subprocess.DEVNULL)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/sw/build.build/python314-3.14.0-1/Python-3.14.0/Lib/subprocess.py", line 419, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['tar', '--no-mac-metadata', '-cf', 'archive2.tar', 'dist']' returned non-zero exit status 64.
----------------------------------------------------------------------
I have another 'tar' ahead of Apple's in my path that does not have the Apple-specific flag features. if I remove the addition of '--no-mac-metadata' (added to resolve #109980) it passes. Or if I hardcode the test to use Apple's at line 1740:
- tar_cmd = ['tar', '-cf', 'archive2.tar', base_dir]
+ tar_cmd = ['/usr/bin/tar', '-cf', 'archive2.tar', base_dir]
it passes. But interestingly, if I hardcode to use Apple's and remove that flag, it still passes.
CPython versions tested on:
3.14
Operating systems tested on:
macOS
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Comece em Lib/test/test_shutil.py, próximo a test_tarfile_vs_tar e ao comando tar na linha 1740. Reproduza a falha no macOS com um tar que não seja da Apple e esteja antes no PATH; em seguida, compare o comportamento do teste com /usr/bin/tar. Está concluído quando o autoteste funciona com a seleção de tar compatível e o caso de regressão está coberto.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- macos, python
- Domínio
- operating-systems, testing-qa
- Tipo de issue
- Bug
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 45/100