31 Commits

Author SHA1 Message Date
Adrien Ufferte dadc6f69ef Add missing file uid 2026-06-11 10:32:15 +02:00
Adrien Ufferte 239643c325 Fix directory deletion failing on hidden files, breaking the pack swap
The new extract/verify/swap flow surfaced a long-standing bug in
Utils.clean_dir(). On macOS, browsing a folder in the Finder drops a
hidden .DS_Store file in it, and clean_dir() had two flaws around that:

- DirAccess listings skip hidden files by default, so .DS_Store was
  never listed nor removed and the directory was never actually empty.
- The return value of dir.remove(subfolder) was ignored, so the failed
  removal of a subdirectory (non-empty because of its own hidden file)
  was silently swallowed and clean_dir() still reported success.

As a result, delete_directory_recursive() emptied the old language pack
but could not delete its directory, the rename of the new pack onto
that still-existing directory failed, and the downloader showed the
download-error popup. Since the version on disk was never updated, the
app re-downloaded and failed again in a loop on every launch. The old
pre-swap flow had the same deletion failure but masked it: it extracted
directly into the existing directory and ignored rename errors.

- clean_dir() now lists hidden files (include_hidden) and checks every
  removal, trying to remove everything (best effort, so callers like
  clear_all_local_data still wipe as much as possible) and reporting
  the first error encountered instead of a false OK.
- The downloader verifies that the previous pack directory is really
  gone before renaming the new one into place; if not, it aborts the
  swap, keeps the temporary directory and shows the error instead of
  attempting a rename that cannot succeed.
- Add regression tests covering hidden-file deletion, full content
  cleanup and the missing-directory error path.

Verified with the GUT test suite (65/65 passing).
2026-06-11 10:15:40 +02:00
Adrien Ufferte 3b597d92d5 Debug test parsing error 2026-06-11 08:15:31 +02:00
Adrien Ufferte 5e6ddf3f53 Debug gut tests 2026-04-20 10:53:25 +02:00
Adrien Ufferte 5e8807a664 GUT tests 2026-04-20 10:36:17 +02:00
Adrien Ufferte c6f7ef833d Cleaning 2026-04-17 10:10:58 +02:00
Adrien Ufferte d3d5565b2a Debug unit test account creation language selection 2026-04-16 16:52:50 +02:00
Adrien Ufferte 82f03154e0 Fix unit test 2026-03-23 12:06:54 +01:00
Adrien Ufferte 3bf5c47f76 Handle error in github action where Database is null 2026-03-09 12:01:03 +01:00
Adrien Ufferte 6d0cae7aec Integration test for account creation 2026-03-09 11:37:59 +01:00
Adrien Ufferte 561a748ff6 Merge pull request #268 from Excello-Recherche-Education/unit-test-minigames
Test class Minigame
2026-03-09 10:39:28 +01:00
Adrien Ufferte 64b676a2aa Test class Minigame 2026-02-24 16:42:08 +01:00
Adrien Ufferte 9bf3994eb3 Merge pull request #258 from Excello-Recherche-Education/remove-useless-functions
Remove useless functions
2026-02-24 16:17:33 +01:00
Adrien Ufferte 8ccc15dd29 Remove useless functions 2026-02-23 16:20:01 +01:00
Adrien Ufferte 04b19c32d3 Coroutine handle join_either with no futures 2026-02-23 10:10:31 +01:00
Adrien Ufferte be6abaadef Merge pull request #221 from Excello-Recherche-Education/unit-test-coroutines
Add unit test for class Coroutine
2026-02-10 09:32:44 +01:00
Adrien Ufferte 09faa9537e Add unit test for control binder 2026-02-06 14:59:51 +01:00
Adrien Ufferte a8e6abbcac Add unit test for class Coroutine 2026-02-05 11:45:33 +01:00
Adrien Ufferte 07e3102343 Merge pull request #218 from Excello-Recherche-Education/unit-test-unicode-normalizer
Add unit test for UnicodeNormalizer
2026-02-03 16:08:45 +01:00
Adrien Ufferte 8aa801b62f Merge pull request #217 from Excello-Recherche-Education/unit-test-confusion-matrix
Add unit test for confusion matrix
2026-02-03 16:08:28 +01:00
Adrien Ufferte dc51aa9fd6 Add unit test for UnicodeNormalizer 2026-02-03 14:39:07 +01:00
Adrien Ufferte a9b8a98043 Add unit test for confusion matrix 2026-02-03 14:32:05 +01:00
Adrien Ufferte 7d44eb5e33 Add Unit tests for UserMinigameHistory 2026-02-03 14:18:44 +01:00
Adrien Ufferte 5217cda4a9 Merge pull request #211 from Excello-Recherche-Education/unit-test-bezier
Unit test Bezier
2026-02-03 10:56:51 +01:00
Adrien Ufferte 54a3a3ea47 Rename variables and overall improvement of readability 2026-02-02 14:25:58 +01:00
Adrien Ufferte 17e9b5572a Add unit test for log resource 2026-02-02 14:02:57 +01:00
Adrien Ufferte 6b89293a3f Bezier full tests 2026-02-02 14:01:24 +01:00
Adrien Ufferte f2e3eed639 Bezier tests simples 2026-02-02 14:01:24 +01:00
Adrien Ufferte 6ea5a1f7a7 Add test for class StudentData 2026-01-29 11:30:51 +01:00
Adrien Ufferte 0e6318e312 Add workflow to execute tests in PR 2026-01-29 11:30:51 +01:00
Adrien Ufferte 7a55ddcf45 Add GUT addon 2026-01-29 11:30:51 +01:00