)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"905010e778aff2f08bbcba828ac0c8ebadbafd22","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"cccc6d85_f6025e1a","updated":"2026-05-14 12:28:37.000000000","message":"the change lgtm, although this is doing also a small refactor of the the `setUp` method of `DbTestCase` into a fixture. I agree with the change, but I think it should be mentioned in the commit message","commit_id":"5f5d700a3607334a61c7c306d8feac0712689853"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"1425b3d394283bf357b0720cfa0fbafc458d890d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ce953f2b_8eb838a5","updated":"2026-06-18 18:55:42.000000000","message":"lgtm, it seems that it just moves things without changing content or order","commit_id":"a5814b530c57045793f54aa81d215326b0a5f1db"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f51200040ee5f5ab112de5ff053d950076b182c9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"82ee043f_75d8f95c","updated":"2026-07-02 13:32:05.000000000","message":"this looks good bar the fixures module aliasing","commit_id":"91ddf32e903e7135262468df7e344a0ffd37dccc"}],"watcher/tests/fixtures/db.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f51200040ee5f5ab112de5ff053d950076b182c9","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"52a1d9c5_87475e69","updated":"2026-07-02 13:32:05.000000000","message":"so this might seam trivial but can we call this folder local_fixtures\n\nif you try to use vscode teh way it add the project to the python path means that this foldure will alias the fixtures package\n\nhttps://review.opendev.org/c/openstack/nova/+/978346","commit_id":"91ddf32e903e7135262468df7e344a0ffd37dccc"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a8ddba3504552331beae08520d97511282ed25a5","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"5559052d_b1c5ab9e","in_reply_to":"52a1d9c5_87475e69","updated":"2026-07-02 13:34:01.000000000","message":"watcher_fixtures or any other name is also fine as would moving this under tests/common/fixtures\n\nit jus thtat when you confiure an ide to find test by pointing it at the tests folder that folder get prepeened to you pythonpath so if you have a module that has the same name as a package it will alias it.","commit_id":"91ddf32e903e7135262468df7e344a0ffd37dccc"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"fcbaff567ff6e6777d144743c726a290c6da8ceb","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"8748e0a1_0757b15e","in_reply_to":"5559052d_b1c5ab9e","updated":"2026-07-02 15:25:50.000000000","message":"what if i use watcher/tests/local_fixtures for fixtures used both in unit and functional and watcher/tests/functional_fixtures for the ones only for functional, would that be fine?","commit_id":"91ddf32e903e7135262468df7e344a0ffd37dccc"}],"watcher/tests/local_fixtures/db.py":[{"author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"b65ba31fa461de4f1088c0544995733248d410e1","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        # the database, it will come back in WAL mode."},{"line_number":83,"context_line":"        # More info at: https://www.sqlite.org/wal.html"},{"line_number":84,"context_line":"        with sqlite3.connect(dbfile_path) as conn:"},{"line_number":85,"context_line":"            conn.execute(\u0027PRAGMA journal_mode\u003dWAL\u0027)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        # NOTE(dviroel): Creates a new enginefacade for each test,"},{"line_number":88,"context_line":"        # and use the fixture to replace the application level factory"}],"source_content_type":"text/x-python","patch_set":4,"id":"1e736590_288d85a1","line":85,"updated":"2026-07-02 18:55:24.000000000","message":"The WAL journal-mode assertion was dropped during extraction. The original setUp ran assertEqual(res.fetchone()[0], \u0027wal\u0027) after PRAGMA journal_mode\u003dWAL, failing fast if SQLite could not enter WAL. The new WatcherDatabase.setUp discards the result, so failure to apply WAL passes silently.\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: If WAL mode cannot be applied (possible in restricted environments or on certain filesystems), tests no longer fail fast at setup. Instead they may hit confusing, intermittent \u0027database is locked\u0027 errors later during concurrent test execution, making failures much harder to diagnose.\n\n**Suggestion**:\nRestore the fail-fast check by capturing the cursor result and asserting WAL was applied, e.g.: res \u003d conn.execute(\u0027PRAGMA journal_mode\u003dWAL\u0027); assert res.fetchone()[0] \u003d\u003d \u0027wal\u0027. Since this runs inside a fixtures.Fixture (not a TestCase), a plain assert or raising an exception on mismatch is appropriate instead of self.assertEqual.","commit_id":"862b9f73b51a39f32e2a9f501b21d7ce4156d8ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ed7e5a306ebafb345141e9b06157dd1e1c2fabc1","unresolved":true,"context_lines":[{"line_number":82,"context_line":"        # the database, it will come back in WAL mode."},{"line_number":83,"context_line":"        # More info at: https://www.sqlite.org/wal.html"},{"line_number":84,"context_line":"        with sqlite3.connect(dbfile_path) as conn:"},{"line_number":85,"context_line":"            conn.execute(\u0027PRAGMA journal_mode\u003dWAL\u0027)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        # NOTE(dviroel): Creates a new enginefacade for each test,"},{"line_number":88,"context_line":"        # and use the fixture to replace the application level factory"}],"source_content_type":"text/x-python","patch_set":4,"id":"f693d289_42a80f5e","line":85,"in_reply_to":"1e736590_288d85a1","updated":"2026-07-02 19:31:10.000000000","message":"this is valid but perhaps we dont ned to assert this every time\nits a nice safty check but it shoudl not actully fail so i woudl be ok with remiving it for fixing this","commit_id":"862b9f73b51a39f32e2a9f501b21d7ce4156d8ae"}],"watcher/tests/unit/db/base.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ed7e5a306ebafb345141e9b06157dd1e1c2fabc1","unresolved":true,"context_lines":[{"line_number":86,"context_line":"        # the database, it will come back in WAL mode."},{"line_number":87,"context_line":"        # More info at: https://www.sqlite.org/wal.html"},{"line_number":88,"context_line":"        with sqlite3.connect(dbfile_path) as conn:"},{"line_number":89,"context_line":"            res \u003d conn.execute(\"PRAGMA journal_mode\u003dWAL\")"},{"line_number":90,"context_line":"            self.assertEqual(res.fetchone()[0], \u0027wal\u0027)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        super().setUp()"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        # NOTE(dviroel): Creates a new enginefacade for each test,"}],"source_content_type":"text/x-python","patch_set":4,"id":"bd066820_115bf2fe","side":"PARENT","line":91,"range":{"start_line":89,"start_character":0,"end_line":91,"end_character":1},"updated":"2026-07-02 19:31:10.000000000","message":"huh teim is right you did drop the assert in the refactor","commit_id":"642b193e739b78b233ccfb8ed7d75cb157c8ba56"}]}
