Repository navigation
Run the registry owner checks in CI; #20 is otherwise already done - #44
Merged
Merged
Conversation
…hem (#20) The owner checks of gui_test_parity_trust_body.groovy (an entry or schema file owned by another user) need chown to a second user; CI had neither the user nor root, so the body skipped them (51 of 53 checks ran) and the schema-ownership rule of issue #20 was never exercised. - qupath-gui.yml adds the user `tester` and sets LC_REQUIRE_OWNER_CHECKS=1. - The body chowns as itself, else with `sudo -n` (a CI runner); with LC_REQUIRE_OWNER_CHECKS=1 an owner check that cannot be made fails (trust_owner_checks_can_run) instead of being skipped. - New: a root-owned entry in the user's own folder is refused with the user-folder sentence (root may own entries in shared folders only). - README: the body's real check count and how the owner checks run. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #20
Most of #20 was already on
mainThe issue was filed on 9 Oct from a source comparison against an older
LcRegistry(its line links point at a version from before the split). The day before, c659a3b had ported the Fiji/Toolkit trust checks to QuPath, and #40 (16 Oct) added the output and choice checks. Acceptance criteria against currentmain:maingui_test_parity_trust_body.groovy)pythonpathrejectedLcRegistry.entryProblemtrust_pythonpath_not_list,trust_pythonpath_item_not_texttoolsrejectedLcRegistry.schemaProblemtrust_tools_none,trust_tools_not_list,trust_tool_not_object,trust_tool_no_outputs…schemaProblem(identifier)trust_param_name_path,trust_param_name_space,trust_param_name_missing…LcDialog.unsupportedParameter: the tool says "this tool cannot be shown", the app's other tools stay usable (as in Fiji'susableToolsand the Napari form)gui_test_parity_host_body.groovy:unknown_type_says_so_in_the_status,unsupported_parameter_unitschemaProblem; each broken app is listed under "skipped" with its reason, and the others still loadtrust_*_refusedchecks,trust_no_null_pointer_text_anywhereLcRegistry.permissionReason→fileReason(schemaFile, …)trust_group_writable_schema,trust_schema_owner_otherload()trust_ok_loads,trust_valid_choice_and_outputs_load,trust_sticky_folder_is_not_world_writableThe gap this PR closes
The owner checks (
trust_owner_other,trust_schema_owner_other) never ran in CI. They needchownto a second user, and the runner had neither the user nor root, so the trust body quietly skipped them: onmain's latest run it reports 51 checks of 53. So nothing in CI proved the "schema file owned by someone else is refused" rule of #20.qupath-gui.ymlcreates the usertesterand setsLC_REQUIRE_OWNER_CHECKS=1.chowndirectly, or elsesudo -n chown(passwordless sudo, as on a CI runner). WithLC_REQUIRE_OWNER_CHECKS=1, an owner check that cannot be made is a failure (trust_owner_checks_can_run), not a skip. Locally, without the variable, it still skips with a NOTE, as before.Expected in CI: the trust body reports 56 checks (53 +
trust_owner_checks_can_run+ the 2 root checks).Not covered (not changed here)
LC_APPS_PATHor the system folder) are not tested. That would mean writing a root-owned entry into the shared registry the other bodies use.🤖 Generated with Claude Code