thePR0M3TH3AN and Claude Fable 5
b885573315
fix: make the test-profile generator hermetic and re-runnable
...
test_profile_init_integration failed on any machine with a generated test
profile already present. Two causes, both real bugs rather than test noise:
- scripts/generate_test_profile.py mutated constants.APP_DIR at import time
to append "tests". The value was captured when constants was first
imported -- long before a test can monkeypatch Path.home -- so the script
read the developer's real ~/.seedpass/tests, and a reload appended another
"tests" segment. The mutation also leaked into every other importer of
constants in the same process. The tests directory is now derived per call
from constants.APP_DIR instead.
- initialize_profile assumed add_fingerprint returns None for an existing
profile, which is what its docstring still promises; it actually raises
ValueError. Re-running the generator against an existing profile therefore
crashed. It now treats "already exists" as the ordinary case.
test_profile_init_integration also repoints constants.APP_DIR so it no
longer depends on the developer's home directory, and
test_generate_test_profile asserts against the derived tests directory
rather than the mutated global.
Verified hermetic: the test passes repeatedly and touches nothing under the
real ~/.seedpass. Full Python suite: 1178 passed, 16 skipped, 0 failed.
Co-Authored-By: Claude Fable 5 <[email protected] >
2026-08-14 21:16:24 -04:00
..
2026-03-01 17:35:39 -05:00
2026-07-31 22:48:38 -04:00
2026-02-25 18:07:22 -05:00
2025-08-06 22:34:11 -04:00
2026-07-31 22:31:19 -04:00
2025-07-17 19:21:10 -04:00
2026-02-28 22:35:07 -05:00
2026-03-02 12:28:24 -05:00
2026-02-18 03:39:55 +00:00
2026-02-18 03:39:55 +00:00
2026-02-23 16:33:57 -05:00
2025-08-05 19:46:14 -04:00
2026-02-23 16:33:57 -05:00
2026-07-31 16:27:23 -04:00
2025-08-02 16:26:52 -04:00
2026-02-23 14:35:40 -05:00
2026-03-02 22:26:35 -05:00
2025-08-20 21:00:12 -04:00
2025-08-05 12:24:53 -04:00
2025-08-06 21:33:16 -04:00
2026-03-01 02:59:43 +00:00
2025-08-20 22:15:35 -04:00
2026-03-01 01:31:08 -05:00
2025-07-17 19:21:10 -04:00
2026-07-31 22:48:38 -04:00
2025-07-17 19:21:10 -04:00
2026-02-26 03:16:39 +00:00
2026-02-25 18:23:40 -05:00
2026-02-23 14:35:40 -05:00
2025-07-17 19:21:10 -04:00
2026-03-02 09:03:53 -05:00
2026-03-01 17:35:39 -05:00
2026-02-26 17:13:53 +00:00
2026-07-31 22:31:19 -04:00
2026-07-31 22:31:19 -04:00
2025-08-05 18:51:36 -04:00
2026-03-01 23:04:25 +00:00
2026-07-31 22:31:19 -04:00
2026-03-01 23:04:25 +00:00
2026-07-31 22:48:38 -04:00
2025-08-11 19:35:03 -04:00
2026-03-01 15:43:43 -05:00
2025-08-05 18:51:36 -04:00
2026-03-02 12:28:24 -05:00
2026-07-31 22:31:19 -04:00
2025-08-22 09:10:06 -04:00
2025-08-05 18:51:36 -04:00
2025-08-05 18:51:36 -04:00
2025-08-05 22:18:26 -04:00
2025-08-03 09:37:59 -04:00
2026-02-25 18:15:51 -05:00
2026-03-06 07:10:36 -05:00
2025-08-02 16:26:52 -04:00
2026-03-01 17:35:39 -05:00
2026-07-31 16:27:23 -04:00
2025-08-11 19:35:03 -04:00
2025-07-17 19:21:10 -04:00
2026-03-01 01:02:11 -05:00
2026-03-03 21:22:19 -05:00
2026-03-01 17:35:39 -05:00
2025-08-06 22:01:28 -04:00
2026-07-31 22:31:19 -04:00
2025-08-03 20:32:03 -04:00
2025-08-03 07:54:07 -04:00
2025-08-06 09:58:44 -04:00
2025-08-02 21:38:16 -04:00
2025-07-17 19:21:10 -04:00
2026-07-31 17:43:24 -04:00
2026-03-01 15:43:43 -05:00
2026-03-01 15:43:43 -05:00
2025-07-17 19:21:10 -04:00
2025-08-12 09:41:37 -04:00
2026-03-01 15:43:43 -05:00
2026-02-25 18:15:51 -05:00
2025-07-17 19:21:10 -04:00
2025-07-05 13:40:29 -04:00
2025-07-05 13:15:13 -04:00
2026-02-25 18:23:40 -05:00
2025-07-01 00:13:08 -04:00
2026-02-26 19:15:19 +00:00
2026-02-18 03:39:55 +00:00
2026-03-01 17:35:39 -05:00
2026-02-16 18:09:48 +00:00
2026-02-18 04:05:16 +00:00
2026-08-14 21:16:24 -04:00
2025-08-05 12:56:33 -04:00
2025-08-05 12:40:39 -04:00
2026-02-27 03:32:38 +00:00
2025-08-20 18:36:19 -04:00
2025-08-18 19:12:55 -04:00
2025-08-06 21:45:21 -04:00
2026-02-26 15:45:55 -05:00
2025-06-29 14:51:17 -04:00
2025-07-18 15:39:19 -04:00
2026-03-05 23:26:05 -05:00
2026-03-05 21:52:39 -05:00
2026-03-05 23:26:05 -05:00
2026-03-05 23:26:05 -05:00
2025-07-17 19:21:10 -04:00
2025-08-03 09:37:59 -04:00
2026-02-25 18:07:22 -05:00
2025-08-23 12:05:58 -04:00
2026-03-01 18:33:11 -05:00
2025-08-04 15:01:40 -04:00
2026-07-31 22:48:38 -04:00
2026-02-25 18:15:51 -05:00
2025-08-19 09:53:46 -04:00
2025-08-20 17:57:50 -04:00
2025-07-03 14:11:21 -04:00
2025-08-01 10:38:40 -04:00
2026-02-25 19:24:01 +00:00
2026-03-01 15:43:43 -05:00
2025-07-17 19:21:10 -04:00
2025-08-11 16:05:14 -04:00
2026-03-01 15:43:43 -05:00
2025-08-20 19:43:45 -04:00
2025-08-20 19:43:45 -04:00
2026-07-31 22:48:38 -04:00
2026-02-26 17:26:00 +00:00
2025-08-18 19:12:55 -04:00
2026-03-01 15:43:43 -05:00
2025-08-05 20:34:26 -04:00
2025-08-18 21:12:32 -04:00
2025-07-17 19:21:10 -04:00
2026-07-31 16:27:23 -04:00
2025-08-20 18:36:19 -04:00
2026-07-31 22:48:38 -04:00
2025-07-17 19:21:10 -04:00
2026-02-18 03:39:51 +00:00
2025-07-17 19:21:10 -04:00
2025-07-31 15:47:24 -04:00
2026-07-31 16:27:23 -04:00
2026-02-18 03:39:51 +00:00
2025-08-02 16:26:52 -04:00
2025-07-18 08:25:07 -04:00
2025-07-17 19:21:10 -04:00
2026-07-31 16:27:23 -04:00
2026-02-18 04:05:16 +00:00
2026-02-18 03:39:55 +00:00
2026-02-16 17:21:45 +00:00
2025-07-12 09:04:48 -04:00
2025-07-14 17:24:08 -04:00
2025-07-12 09:04:48 -04:00
2025-07-12 09:04:48 -04:00
2025-08-04 14:46:21 -04:00
2026-03-01 15:43:43 -05:00
2025-07-31 13:06:12 -04:00
2025-07-17 19:21:10 -04:00
2026-02-18 03:39:55 +00:00
2026-07-31 22:48:38 -04:00
2025-08-20 22:15:35 -04:00
2025-08-20 19:43:45 -04:00
2025-08-11 19:35:03 -04:00
2025-07-17 19:21:10 -04:00
2025-08-10 20:59:04 -04:00
2025-07-17 19:21:10 -04:00
2026-02-18 03:39:55 +00:00
2026-03-01 17:35:39 -05:00
2026-03-01 03:09:02 +00:00
2026-07-31 22:48:38 -04:00
2026-02-18 03:39:55 +00:00
2025-08-01 10:38:40 -04:00
2026-02-25 21:22:39 -05:00
2026-03-02 19:04:11 +00:00
2026-02-18 03:39:55 +00:00
2026-03-01 03:09:02 +00:00
2026-03-01 17:35:39 -05:00
2026-03-01 01:24:33 -05:00
2026-03-02 10:11:56 -05:00
2025-08-06 19:49:46 -04:00
2026-03-02 10:11:56 -05:00
2025-07-18 08:25:07 -04:00
2025-08-20 22:15:35 -04:00
2026-03-01 17:35:39 -05:00
2026-03-01 17:35:39 -05:00
2025-08-12 09:41:37 -04:00
2026-07-31 22:31:19 -04:00
2026-03-03 21:56:55 -05:00
2025-08-12 09:41:37 -04:00
2025-08-12 09:41:37 -04:00
2025-08-12 09:41:37 -04:00
2025-08-12 09:41:37 -04:00
2025-08-20 22:15:35 -04:00
2026-03-03 07:40:34 -05:00
2026-02-16 18:09:48 +00:00
2026-03-01 01:31:08 -05:00
2025-08-20 22:15:35 -04:00
2025-08-11 19:35:03 -04:00
2026-07-31 22:48:38 -04:00
2026-08-14 21:16:24 -04:00
2026-02-26 21:36:11 -05:00
2026-02-25 19:18:54 -05:00
2026-02-18 03:39:55 +00:00
2025-08-20 19:11:24 -04:00
2025-07-18 17:02:05 -04:00
2025-08-05 23:05:11 -04:00
2025-08-06 20:04:32 -04:00
2026-02-25 19:18:54 -05:00
2026-02-18 04:05:16 +00:00
2025-08-05 21:53:23 -04:00
2025-08-02 16:26:52 -04:00
2025-08-06 19:23:56 -04:00
2026-07-31 22:31:19 -04:00
2026-03-01 17:35:39 -05:00
2025-08-20 22:15:35 -04:00
2025-08-03 09:37:59 -04:00
2025-08-20 19:43:45 -04:00
2026-03-03 21:56:55 -05:00
2025-08-22 10:01:14 -04:00
2025-07-17 19:21:10 -04:00
2026-03-02 12:28:24 -05:00
2026-07-31 16:27:23 -04:00
2026-03-02 12:28:24 -05:00
2025-07-17 19:21:10 -04:00
2026-03-01 17:35:39 -05:00
2025-08-20 22:15:35 -04:00
2026-02-27 00:14:18 +00:00
2025-08-05 13:13:31 -04:00
2026-02-18 03:39:55 +00:00
2025-08-02 16:26:52 -04:00
2026-02-25 21:22:39 -05:00
2025-08-05 20:34:26 -04:00
2026-08-14 16:41:04 -04:00
2026-02-16 18:09:48 +00:00
2025-07-17 19:21:10 -04:00
2026-07-31 22:31:19 -04:00
2026-07-31 22:31:19 -04:00
2026-03-01 18:20:57 -05:00
2026-07-31 22:31:19 -04:00
2026-03-01 16:39:35 -05:00
2026-03-03 21:22:19 -05:00
2026-07-31 22:31:19 -04:00
2026-07-31 22:31:19 -04:00
2026-07-31 22:31:19 -04:00
2026-07-31 22:31:19 -04:00
2026-03-01 02:59:43 +00:00
2025-07-17 19:21:10 -04:00
2025-07-17 19:21:10 -04:00
2025-07-18 17:38:07 -04:00
2025-08-12 08:48:19 -04:00
2026-02-18 03:39:55 +00:00