4040#include < TransLog.h>
4141#include < gnc-engine.h>
4242#include < gnc-prefs.h>
43+ #include < gnc-uri-utils.h>
4344
4445#pragma GCC diagnostic push
4546#pragma GCC diagnostic ignored "-Wcpp"
@@ -208,14 +209,17 @@ class LoadSaveFiles : public testing::TestWithParam<std::string>
208209TEST_P (LoadSaveFiles, test_file)
209210{
210211 auto filename = GetParam ();
212+ auto base_url = gnc_uri_normalize_uri (filename.c_str (), FALSE );
211213 /* Verify that we can write a compressed version of the original file that
212214 * has the original content when uncompressed.
213215 */
214216 auto new_compressed_file = filename + " -test-compressed~" ;
215217 /* Verify that we can read a compressed file and write an uncompressed file
216218 * that has the original content.
217219 */
220+ auto compressed_url = gnc_uri_normalize_uri (new_compressed_file.c_str (), FALSE );
218221 auto new_uncompressed_file = filename + " -test-uncompressed~" ;
222+ auto uncompressed_url = gnc_uri_normalize_uri (new_uncompressed_file.c_str (), FALSE );
219223 const char *logdomain = " backend.xml" ;
220224 GLogLevelFlags loglevel = static_cast <decltype (loglevel)>
221225 (G_LOG_LEVEL_WARNING);
@@ -226,14 +230,15 @@ TEST_P(LoadSaveFiles, test_file)
226230 {
227231 auto load_uncompressed_session = std::shared_ptr<QofSession>{qof_session_new (qof_book_new ()), qof_session_destroy};
228232
229- QOF_SESSION_CHECKED_CALL (qof_session_begin, load_uncompressed_session, filename. c_str () , SESSION_READ_ONLY);
233+ QOF_SESSION_CHECKED_CALL (qof_session_begin, load_uncompressed_session, base_url , SESSION_READ_ONLY);
230234 QOF_SESSION_CHECKED_CALL (qof_session_load, load_uncompressed_session, nullptr );
231235
232236 auto save_compressed_session = std::shared_ptr<QofSession>{qof_session_new (nullptr ), qof_session_destroy};
233237
234238 g_unlink (new_compressed_file.c_str ());
235239 g_unlink ((new_compressed_file + " .LCK" ).c_str ());
236- QOF_SESSION_CHECKED_CALL (qof_session_begin, save_compressed_session, new_compressed_file.c_str (), SESSION_NEW_OVERWRITE);
240+
241+ QOF_SESSION_CHECKED_CALL (qof_session_begin, save_compressed_session, compressed_url, SESSION_NEW_OVERWRITE);
237242
238243 qof_event_suspend ();
239244 qof_session_swap_data (load_uncompressed_session.get (), save_compressed_session.get ());
@@ -254,14 +259,14 @@ TEST_P(LoadSaveFiles, test_file)
254259 {
255260 auto load_compressed_session = std::shared_ptr<QofSession>{qof_session_new (qof_book_new ()), qof_session_destroy};
256261
257- QOF_SESSION_CHECKED_CALL (qof_session_begin, load_compressed_session, new_compressed_file. c_str () , SESSION_READ_ONLY);
262+ QOF_SESSION_CHECKED_CALL (qof_session_begin, load_compressed_session, compressed_url , SESSION_READ_ONLY);
258263 QOF_SESSION_CHECKED_CALL (qof_session_load, load_compressed_session, nullptr );
259264
260265 auto save_uncompressed_session = std::shared_ptr<QofSession>{qof_session_new (nullptr ), qof_session_destroy};
261266
262267 g_unlink (new_uncompressed_file.c_str ());
263268 g_unlink ((new_uncompressed_file + " .LCK" ).c_str ());
264- QOF_SESSION_CHECKED_CALL (qof_session_begin, save_uncompressed_session, new_uncompressed_file. c_str () , SESSION_NEW_OVERWRITE);
269+ QOF_SESSION_CHECKED_CALL (qof_session_begin, save_uncompressed_session, uncompressed_url , SESSION_NEW_OVERWRITE);
265270
266271 qof_event_suspend ();
267272 qof_session_swap_data (load_compressed_session.get (), save_uncompressed_session.get ());
@@ -276,6 +281,10 @@ TEST_P(LoadSaveFiles, test_file)
276281 qof_session_end (save_uncompressed_session.get ());
277282 }
278283
284+ g_free (base_url);
285+ g_free (compressed_url);
286+ g_free (uncompressed_url);
287+
279288 if (!compare_files (filename, new_uncompressed_file))
280289 return ;
281290}
0 commit comments