Need help resolving unit tests failures on Ubuntu (on WSL)

I’m running Gramps v5.2.0 from source on Ubuntu on WSL on Windows, both 24.04-preview and 22.04.4. In both cases I’m getting test failures - and I suspect there’s something about my environment which is causing them, but so far I haven’t figured out what that is, so any help would be appreciated. The code I’m testing includes @Nick-Hall open PR 1672.

  1. On Ubuntu 22.04.4 which was initially setup more than a year ago, there’s one failure:
  • FAIL: test_ged (gramps.plugins.test.exports_test.ExportControl.test_ged)
  1. On Ubuntu 24.04-preview which I just set up yesterday I see the same failure and one additional failure and one error.
  • FAIL: test_mediapath (gramps.gen.utils.test.file_test.FileTest.test_mediapath)

  • ERROR: test4_arbitrary_uncode_path (gramps.cli.test.cli_test.UnicodeTest.test4_arbitrary_uncode_path)

The issue with the test_ged UT looks like the diffs are related to timestamp and local path differences, not a real failure.

The issue with the other two feel like they have to do with my set up. When setting up the fresh Ubuntu 24.04-preview environment, installing build-dep step (sudo apt-get build-dep gramps) didn’t succeed so I installed dependencies one-by-one resolving errors until I got Gramps to run. However, this I might not have some additional dependencies which are needed by the tests.

Any help appreciated from the experts.

Command use to run these tests:

GRAMPS_RESOURCES=. python3 -m unittest gramps.cli.test.cli_test.UnicodeTest.test4_arbitrary_uncode_path gramps.gen.utils.test.file_test.FileTest.test_mediapath gramps.plugins.test.exports_test.ExportControl.test_ged

Output

======================================================================
ERROR: test4_arbitrary_uncode_path (gramps.cli.test.cli_test.UnicodeTest.test4_arbitrary_uncode_path)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/codefarmer/gramps-project/gramps/gramps/cli/test/cli_test.py", line 121, in setUp
    os.makedirs(self.newpath)
  File "<frozen os>", line 225, in makedirs
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 51-56: ordinal not in range(256)

======================================================================
FAIL: test_mediapath (gramps.gen.utils.test.file_test.FileTest.test_mediapath)
Test media path variables.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/codefarmer/gramps-project/gramps/gramps/gen/utils/test/file_test.py", line 73, in test_mediapath
    self.assertTrue(os.path.exists(media_path(db)))
AssertionError: False is not true

======================================================================
FAIL: test_ged (gramps.plugins.test.exports_test.ExportControl.test_ged)
Run a Gedcom export test
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/codefarmer/gramps-project/gramps/gramps/plugins/test/exports_test.py", line 234, in test_ged
    self.fail(tst_file + ": " + msg)
AssertionError: exp_sample_ged.ged: @@ -1,11 +1,11 @@
 0 HEAD
 1 SOUR Gramps
-2 VERS 5.1.2
+2 VERS 5.2.1
 2 NAME Gramps
-1 DATE 7 JAN 2020
-2 TIME 13:39:43
+1 DATE 10 MAR 2024
+2 TIME 11:03:43
 1 SUBM @SUBM@
-1 FILE C:\Users\prc\AppData\Roaming\gramps\temp\exp_sample_ged.ged
-1 COPR Copyright (c) 2020 Alex Roitman,,,.
+1 FILE /tmp/tmph7mqi8r2/exp_sample_ged.ged
+1 COPR Copyright (c) 2024 Alex Roitman,,,.
 1 GEDC
 2 VERS 5.5.1
@@ -45,5 +45,5 @@
 1 CHAN
 2 DATE 27 OCT 2016
-3 TIME 15:14:42
+3 TIME 11:14:42
 0 @I0001@ INDI
 1 NAME Keith Lloyd /Smith/
@@ -60,5 +60,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0002@ INDI
 1 NAME Amber Marie /Smith/
@@ -82,5 +82,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0003@ INDI
 1 NAME Magnes /Smith/
@@ -102,5 +102,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0004@ INDI
 1 NAME Ingeman /Smith/
@@ -117,5 +117,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0005@ INDI
 1 NAME Mason Michael /Smith/
@@ -138,5 +138,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0006@ INDI
 1 NAME Edwin /Willard/
@@ -151,5 +151,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0007@ INDI
 1 NAME Ingar /Smith/
@@ -166,5 +166,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0008@ INDI
 1 NAME Hjalmar /Smith/
@@ -195,5 +195,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0009@ INDI
 1 NAME Emil /Smith/
@@ -210,5 +210,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0010@ INDI
 1 NAME Hans Peter /Smith/
@@ -247,5 +247,5 @@
 1 CHAN
 2 DATE 4 JUN 2016
-3 TIME 21:32:08
+3 TIME 17:32:08
 0 @I0011@ INDI
 1 NAME Hanna /Smith/
@@ -262,5 +262,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0012@ INDI
 1 NAME Herman Julius /Nielsen/
@@ -279,5 +279,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0013@ INDI
 1 NAME Evelyn /Michaels/
@@ -292,5 +292,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0014@ INDI
 1 NAME Marjorie Lee /Smith/
@@ -307,5 +307,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0015@ INDI
 1 NAME Gus /Smith/
@@ -327,5 +327,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0016@ INDI
 1 NAME Jennifer /Anderson/
@@ -345,5 +345,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0017@ INDI
 1 NAME Lillie Harriet /Jones/
@@ -362,5 +362,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0018@ INDI
 1 NAME John Hjalmar /Smith/
@@ -378,5 +378,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0019@ INDI
 1 NAME Eric Lloyd /Smith/
@@ -398,5 +398,5 @@
 1 CHAN
 2 DATE 4 JUN 2016
-3 TIME 21:25:13
+3 TIME 17:25:13
 0 @I0020@ INDI
 1 NAME Carl Emil /Smith/
@@ -418,5 +418,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0021@ INDI
 1 NAME Hjalmar /Smith/
@@ -437,5 +437,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0022@ INDI
 1 NAME Martin /Smith/
@@ -462,5 +462,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0023@ INDI
 1 NAME Astrid Shermanna Augusta /Smith/
@@ -482,5 +482,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0024@ INDI
 1 NAME Gustaf /Smith/ Sr.
@@ -511,5 +511,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0025@ INDI
 1 NAME Marta /Ericsdotter/
@@ -525,5 +525,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0026@ INDI
 1 NAME Kirsti Marie /Smith/
@@ -545,5 +545,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0027@ INDI
 1 NAME Ingeman /Smith/
@@ -559,5 +559,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0028@ INDI
 1 NAME Anna /Streiffert/
@@ -577,5 +577,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0029@ INDI
 1 NAME Craig Peter /Smith/
@@ -595,5 +595,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0030@ INDI
 1 NAME Janice Ann /Adams/
@@ -613,5 +613,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0031@ INDI
 1 NAME Marjorie /Ohman/
@@ -638,5 +638,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0032@ INDI
 1 NAME Darcy /Horne/
@@ -654,5 +654,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0033@ INDI
 1 NAME Lloyd /Smith/
@@ -674,5 +674,5 @@
 1 CHAN
 2 DATE 4 SEP 2016
-3 TIME 20:17:13
+3 TIME 16:17:13
 0 @I0034@ INDI
 1 NAME Alice Paula /Perkins/
@@ -688,5 +688,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0035@ INDI
 1 NAME Lars Peter /Smith/
@@ -706,5 +706,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0036@ INDI
 1 NAME Elna /Jefferson/
@@ -727,5 +727,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0037@ INDI
 1 NAME Edwin Michael /Smith/
@@ -754,5 +754,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0038@ INDI
 1 NAME Kerstina /Hansdotter/
@@ -772,5 +772,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0039@ INDI
 1 NAME Martin /Smith/
@@ -791,5 +791,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0040@ INDI
 1 NAME Marjorie Alice /Smith/
@@ -806,5 +806,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0041@ INDI
 1 NAME Janis Elaine /Green/
@@ -819,5 +819,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @I0042@ INDI
 1 NAME \u96ea /Ke \u67ef/
@@ -839,5 +839,5 @@
 1 CHAN
 2 DATE 18 JUN 2016
-3 TIME 17:04:25
+3 TIME 13:04:25
 0 @I0043@ INDI
 1 NAME \u30d4\u30fc\u30bf\u30fc /\u30ea\u30c1\u30df\u30b7\u30ad\u30b9\u30a4\u30df/
@@ -848,5 +848,5 @@
 1 CHAN
 2 DATE 18 JUN 2016
-3 TIME 16:42:08
+3 TIME 12:42:08
 0 @I0044@ INDI
 1 NAME The /Tester/
@@ -898,5 +898,5 @@
 1 CHAN
 2 DATE 29 OCT 2016
-3 TIME 16:40:40
+3 TIME 12:40:40
 0 @I0045@ INDI
 1 NAME Mrs /Tester/
@@ -932,5 +932,5 @@
 1 CHAN
 2 DATE 29 OCT 2016
-3 TIME 14:22:58
+3 TIME 10:22:58
 0 @I0046@ INDI
 1 NAME Tom /Von Tester y tested/
@@ -979,5 +979,5 @@
 1 CHAN
 2 DATE 29 OCT 2016
-3 TIME 16:27:59
+3 TIME 12:27:59
 0 @I0047@ INDI
 1 NAME Fake /von Person/ I
@@ -1051,5 +1051,5 @@
 1 CHAN
 2 DATE 29 OCT 2016
-3 TIME 16:27:59
+3 TIME 12:27:59
 0 @I0048@ INDI
 1 NAME Mary /Tester/
@@ -1066,5 +1066,5 @@
 1 CHAN
 2 DATE 29 OCT 2016
-3 TIME 16:27:59
+3 TIME 12:27:59
 0 @I0049@ INDI
 1 NAME Martha /Tester/
@@ -1077,5 +1077,5 @@
 1 CHAN
 2 DATE 29 OCT 2016
-3 TIME 16:27:59
+3 TIME 12:27:59
 0 @I0050@ INDI
 1 NAME John /Tester/
@@ -1088,5 +1088,5 @@
 1 CHAN
 2 DATE 29 OCT 2016
-3 TIME 16:27:59
+3 TIME 12:27:59
 0 @I0051@ INDI
 1 NAME Mark /Tester/
@@ -1099,5 +1099,5 @@
 1 CHAN
 2 DATE 29 OCT 2016
-3 TIME 16:27:59
+3 TIME 12:27:59
 0 @F0000@ FAM
 1 HUSB @I0039@
@@ -1113,5 +1113,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @F0001@ FAM
 1 HUSB @I0027@
@@ -1124,5 +1124,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @F0002@ FAM
 1 HUSB @I0022@
@@ -1136,5 +1136,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @F0003@ FAM
 1 HUSB @I0024@
@@ -1153,5 +1153,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @F0004@ FAM
 1 HUSB @I0006@
@@ -1162,5 +1162,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @F0005@ FAM
 1 HUSB @I0012@
@@ -1173,5 +1173,5 @@
 1 CHAN
 2 DATE 12 JUN 2016
-3 TIME 14:27:35
+3 TIME 10:27:35
 0 @F0006@ FAM
 1 HUSB @I0008@
@@ -1185,5 +1185,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @F0007@ FAM
 1 HUSB @I0015@
@@ -1194,5 +1194,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @F0008@ FAM
 1 HUSB @I0033@
@@ -1208,5 +1208,5 @@
 1 CHAN
 2 DATE 4 SEP 2016
-3 TIME 20:14:33
+3 TIME 16:14:33
 0 @F0009@ FAM
 1 HUSB @I0010@
@@ -1215,5 +1215,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @F0010@ FAM
 1 HUSB @I0019@
@@ -1226,5 +1226,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @F0011@ FAM
 1 HUSB @I0003@
@@ -1236,5 +1236,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @F0012@ FAM
 1 HUSB @I0018@
@@ -1249,5 +1249,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @F0013@ FAM
 1 HUSB @I0037@
@@ -1265,5 +1265,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @F0014@ FAM
 1 HUSB @I0010@
@@ -1271,5 +1271,5 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @F0016@ FAM
 1 HUSB @I0044@
@@ -1307,5 +1307,5 @@
 1 CHAN
 2 DATE 29 OCT 2016
-3 TIME 16:27:59
+3 TIME 12:27:59
 0 @S0000@ SOUR
 1 TITL Marriage Certificae
@@ -1316,15 +1316,15 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @S0001@ SOUR
 1 TITL Birth Certificate
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @S0002@ SOUR
 1 TITL Birth Records
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @S0003@ SOUR
 1 TITL Birth, Death and Marriage Records
@@ -1335,10 +1335,10 @@
 1 CHAN
 2 DATE 21 DEC 2007
-3 TIME 07:35:26
+3 TIME 02:35:26
 0 @S0004@ SOUR
 1 TITL findagrave.com
 1 CHAN
 2 DATE 4 JUN 2016
-3 TIME 21:28:36
+3 TIME 17:28:36
 0 @S0005@ SOUR
 1 TITL Import from imp_FTM_LINK.ged
@@ -1347,5 +1347,5 @@
 1 CHAN
 2 DATE 29 AUG 2016
-3 TIME 19:51:48
+3 TIME 15:51:48
 0 @S0006@ SOUR
 1 TITL Ohio Births, 1958-2002
@@ -1353,5 +1353,5 @@
 1 CHAN
 2 DATE 29 AUG 2016
-3 TIME 19:51:48
+3 TIME 15:51:48
 0 @S0007@ SOUR
 1 AUTH The tester
@@ -1361,5 +1361,5 @@
 1 CHAN
 2 DATE 29 OCT 2016
-3 TIME 16:20:39
+3 TIME 12:20:39
 0 @R0000@ REPO
 1 NAME Business that produced the product: Ancestry.com
@@ -1476,5 +1476,5 @@
 0 @N0019@ NOTE A bad photo for sure
 0 @O0000@ OBJE
-1 FILE d:\users\prc\documents\gramps\data\tests\O0.jpg
+1 FILE /home/codefarmer/gramps-project/gramps/data/tests/O0.jpg
 2 FORM jpg
 2 TITL Michael O'Toole 2015-11
@@ -1482,4 +1482,4 @@
 1 CHAN
 2 DATE 29 OCT 2016
-3 TIME 15:23:37
+3 TIME 11:23:37
 0 TRLR


----------------------------------------------------------------------
Ran 3 tests in 0.429s

FAILED (failures=2, errors=1)

Progress! By looking at .github/workflows/gramps-ci.yml CI configuration, I discovered that two addons are installed (CliMerge and ExportRaw) so I did the same. Installing these two got rid of one failure: test_mediapath (gramps.gen.utils.test.file_test.FileTest.test_mediapath)

Two more to go.

1 Like

Try running the unit tests with:

LANG=en_US.utf8 python3 -m unittest

Setting the GRAMPS_RESOURCES environment variable is no longer necessary.

The reason for setting LANG is that some tests compare the output with a file generated using the US locale. This may possibly also fix your time related issue.

I also had a test fail when I had set a non-default name format. This ideally needs to be fixed in the unit test.

Installing CliMerge and ExportRaw is a good idea. You will get more tests to run, but they should just get skipped if these addons are not installed.

Update:

The command I actually use is:

LANG=en_US.utf8 python3 setup.py test

1 Like

Thanks, @Nick-Hall. Setting the LANG envvar helped resolve this test “ERROR: test4_arbitrary_uncode_path (gramps.cli.test.cli_test.UnicodeTest.test4_arbitrary_uncode_path)”

Two down, one to go!

The test_ged (gramps.plugins.test.exports_test.ExportControl.test_ged) still fails, because it is comparing things that that likely should not be. Let me look at the source.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.