Infrastructure | CI unit tests that write SQLite databases to disk fail when run on gcc150.osuosl.org (#97)



Title: GitLab

Michael Gratton created an issue:

Geary has a couple of unit tests that necessarily involve writing data to disk. While SQLite does support in-memory databases and a few tests use that, its support for that is somewhat flaky so other tests need to use a persistent storage backed db. These tests call g_dir_make_tmp() to create a new random temp dir under /tmp for each test case in setup, the db file gets written there during the test, then the temp dir and its contents is deleted afterwards in teardown.

These tests run as as part of CI builds, and they in general succeed, except when run on gcc150.osuosl.org. When CI jobs run on that host, the job usually fails as a result of the unit tests timing out, and when that happens it's always one of these tests that writes a SQLite db to disk. My suspicion is either that the host clears /tmp whenever some job is finished, and another job finishing is thus nuking the test's files while running, or maybe whatever kind of volume /tmp resides is somehow estoetric enough that SQLite's locking etc can't handle it (NFS, maybe?).

If you look at Geary's CI jobs, essentially all of the successful ones haven't run on gcc150.osuosl.org, and all of the failed jobs have run on that host.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]