Repository navigation
feat(cli): selftest command and a compatibility report form (#179) - #217
Merged
Merged
Conversation
…atibility reports (#179)
solidworks-mcp-python selftest (or --selftest) builds a part, an assembly, a drawing view and a STEP export through the MCP tools, checks each against a hand calculation, and prints a report with a link that opens the new compatibility issue form filled in. It never starts SolidWorks, and never touches a document that was open before it started. Adds one adapter read, get_application_info (revision, language, and the default templates by file name), on every adapter layer.
…et volume rounds to 7,180.27 (#179)
…e for yes/no and '> 0' checks (#179)
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.
Adds a
selftestcommand that checks the server against the user's own SolidWorks, plus a compatibility report form and a Compatibility docs page to collect the results. Closes #179.What it does
With SolidWorks open, run
uvx solidworks-mcp-python selftest(--selftestworks too). It calls the same MCP tools a client does, in process, across four areas. Each is checked against a hand calculation inselftest/expected.py:verify_model)It prints PASS, FAIL or SKIP per area, then a Markdown summary and a link that opens the new Compatibility report form already filled in.
--report FILEalso writes the summary to a file. Exit codes: 0 all pass, 1 any fail or skip, 2 can't run.How it protects the user's work
SLDWORKS.exeis running (checked withtasklist, no COM call), it exits with code 2.Changes
src/solidworks_mcp/selftest/package: cli, runner, areas, expected, documents, report, results, environment.get_application_info, which returns the revision, language and default templates. It's in base, the pywin32 adapter (inside_handle_com_operation), the mock, and the circuit-breaker and connection-pool pass-throughs.server.cli_mainroutesselftest/--selftest..github/ISSUE_TEMPLATE/compatibility.ymlform, labelledcompatibility.feedback.ymland the README's "Tested on" line point to it.docs/compatibility.md, added to the nav. The install guide mentions the command. CHANGELOG entry added.selftest-and-compatibility-report.Verification
mkdocs build --strictclean.tests/live/test_live_sw_selftest.pypassed in 2 min 06 s. It opened an unsaved user part first, then ran all four areas. Every area passed. Afterwards the user part was still unsaved, with the same features, and it was the only document left open.