I am going to reply to my own message.. :-) Most of the errors were due to my not reading my own build notes. :-( I have run the tests again and seem to have several errors due to unicode issues which was the big advantage of moving to duplicity 8. I am down to 17 errors and 3 warnings: ======== 17 failed, 409 passed, 2 skipped, 3 warnings in 894.00 seconds ========
These two errors have me stumped not being a python or unicode expert. os.py looks reasonable to me and should return a string or path. b' File "/sw/src/fink.build/duplicity-0.8.04-1/duplicity-0.8.04/duplicity/path.py", line 476, in <lambda>' b"PermissionError: [Errno 1] Operation not permitted: b'testfiles/cache/3f6f90580e457c90e7202bc33cd9e363/duplicity-full-signatures.19700102T034640Z.sigtar.gz'" b'During handling of the above exception, another exception occurred:' b'Traceback (most recent call last):' b' File "../bin/duplicity", line 157, in <module>' b' if u"Forced assertion for testing" in util.uexc(e):' b' File "/sw/src/fink.build/duplicity-0.8.04-1/duplicity-0.8.04/duplicity/util.py", line 120, in uexc' b' return fsdecode(m)' b' File "/sw/lib/python3.7/os.py", line 821, in fsdecode' b' filename = fspath(filename) # Does type-checking of `filename`.' b'TypeError: expected str, bytes or os.PathLike object, not int' ...return_val: 1
So there is a permission error which may be normal since the testing is done in a non-admin account and cannot chown files. But then there is a secondary error where fsdecode fails. It looks like os.py does return the path and not an int but someone thinks it is getting a wrong type.
The other errors are also unicode related.
________________ TestUnicode.test_unicode_paths_square_brackets ________________ self = <testing.functional.test_selection.TestUnicode testMethod=test_unicode_paths_square_brackets> def test_unicode_paths_square_brackets(self): u""" Test --include and --exclude work with unicode paths with character options in []s and [!]s""" p = u"testfiles/select-unicode/" self.backup(u"full", u"testfiles/select-unicode", options=[u"--exclude", p + u"прыклад/пример/例/Παράδειγμα/उदाहरण.txt", u"--exclude", p + u"пры[к,и,р]лад/пример/例/Παράδειγμα/דוגמא.txt", u"--exclude", p + u"прыклад/пр[!a,b,c]мер/例/მაგალითი/", u"--include", p + u"прыклад/при[g,м,д]ер/例/", u"--exclude", p + u"прыклад/пример/", u"--include", p + u"прыклад/", u"--include", p + u"օրինակ.txt", u"--exclude", p + u"**"]) restore_dir = u"testfiles/restore_out" restored = self.directory_tree_to_list_of_lists(restore_dir) self.assertEqual(restored, [[u"прыклад", u"օրինակ.txt"], > [u"пример", u"উদাহরণ"], [u"例"], [u"Παράδειγμα"], [u"ઉદાહરણ.log"]]) E AssertionError: Lists differ: [['пр[48 chars]'], ['Παράδειγμα'], ['דוגמא.txt', 'उदाहरण.txt', 'ઉદાહરણ.log']] != [['пр[48 chars]'], ['Παράδειγμα'], ['ઉદાહરણ.log']] E First differing element 3: E [['прыклад', 'օրինակ.txt'], E - ['דוגמא.txt', 'उदाहरण.txt', 'ઉદાહરણ.log']]
The strings that are listed as different (element 3) but I am not quite sure what the issue is. Unicode should be completely cross platform… That is the point! :-)
-Scott
On Sep 1, 2019, at 5:49 PM, Scott Hannahs via Duplicity-talk <address@hidden> wrote:
Duplicity wizards,
I think I have successfully build duplicity version 0.8.04 on Mac OS X (python 3.7 and Mac OS X 10.11). This was upgrading from my previous installation using python 2.7.
However the testing phase seems to fail a lot of tests. The first group I understand since there is no tahoe backend installed. I can live with that and will get around to adding backend support later.
|