[issue31380] test_undecodable_filename() in Lib/test/test_httpservers.py broken on APFS

Ned Deily report at bugs.python.org
Mon Nov 27 21:41:30 EST 2017


Ned Deily <nad at python.org> added the comment:

More background: APFS became available in macOS 10.12 although not used by default.  But with the current macOS 10.13 (High Sierra), root file systems on certain devices, such as SSDs, are automatically migrated from HFS+ to APFS so are much more likely to be seen starting in 10.13 and, in general, there is no easy way of knowing what type of FS a particular file resides on.

# TMPDIR on APFS volume
$ ./bin/python3.7 -m test test_httpservers
Run tests sequentially
0:00:00 load avg: 1.43 [1/1] test_httpservers
test test_httpservers failed -- Traceback (most recent call last):
  File ".../lib/python3.7/test/support/__init__.py", line 598, in wrapper
    return func(*args, **kw)
  File ".../lib/python3.7/test/test_httpservers.py", line 395, in test_undecodable_filename
    with open(os.path.join(self.tempdir, filename), 'wb') as f:
OSError: [Errno 92] Illegal byte sequence: '/var/folders/sn/0m4rnbyj2z1byjs68sz838300000gn/T/tmpqeg89k76/@test_64005_tmp\udce7w\udcf0.txt'

test_httpservers failed

1 test failed:
    test_httpservers

Total duration: 3 sec
Tests result: FAILURE
# TMPDIR redirected to HFS+ volume
$ TMPDIR=/Volumes/euterpe/a ./bin/python3.7 -m test test_httpservers
Run tests sequentially
0:00:00 load avg: 1.28 [1/1] test_httpservers
1 test OK.

Total duration: 3 sec
Tests result: SUCCESS

@vstinner, as the expert in this area, what do you suggest as the best way to deal with this?  In support.__init__.py?  Or test_httpservers itself?

----------

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue31380>
_______________________________________


More information about the Python-bugs-list mailing list