Finally got around to figuring out and documenting why this test fails
on Windows. The test_sequence() ERROR is easily repaired if we're
willing to add an os.unlink() line to mhlib's updateline(). The
test_listfolders FAIL I gave up on -- I don't remember enough about Unix
link esoterica to recall why a link count of 2 is something a well-
written program should be keenly interested in <wink>.
diff --git a/Lib/test/test_mhlib.py b/Lib/test/test_mhlib.py
index 862d301..b258e99 100644
--- a/Lib/test/test_mhlib.py
+++ b/Lib/test/test_mhlib.py
@@ -12,8 +12,16 @@
import sys
import mhlib
-if sys.platform.startswith("win") or sys.platform=="riscos" or sys.platform.startswith("atheos"):
- raise TestSkipped("test_mhlib skipped on %s -- "%sys.platform +
+if (sys.platform.startswith("win") or sys.platform=="riscos" or
+ sys.platform.startswith("atheos"):
+ # mhlib.updateline() renames a file to the name of a file that already
+ # exists. That causes a reasonable OS <wink> to complain in test_sequence
+ # here, like the "OSError: [Errno 17] File exists" raised on Windows.
+ # mhlib's listsubfolders() and listallfolders() do something with
+ # link counts, and that causes test_listfolders() here to get back
+ # an empty list from its call of listallfolders().
+ # The other tests here pass on Windows.
+ raise TestSkipped("test_mhlib skipped on %s -- " % sys.platform +
"too many Unix assumptions")
_mhroot = TESTFN+"_MH"