Skip to content

Use SciMLTesting v1.2 (folder-based run_tests)#464

Merged
ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:sciml-testing-rollout
Jun 14, 2026
Merged

Use SciMLTesting v1.2 (folder-based run_tests)#464
ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:sciml-testing-rollout

Conversation

@ChrisRackauckas-Claude

@ChrisRackauckas-Claude ChrisRackauckas-Claude commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

Convert ModelingToolkitStandardLibrary.jl to the SciMLTesting v1.2 folder-discovery model. test/runtests.jl becomes using SciMLTesting; run_tests().

Layout:

  • Core: the functional test files are flattened from their domain subfolders (Blocks/, Electrical/, Thermal/, Magnetic/, Mechanical/, Hydraulic/) to the top level of test/, which is the Core group in the folder model. Folder-discovery does not recurse into subfolders, so Core lives at the top level. Basenames do not collide.
  • QA: test/aqua.jl moves to test/qa/aqua.jl. QA runs in the main test env (Aqua is in the root [extras]); no test/qa/Project.toml is added.
  • test/Mechanical/multibody.jl moves to test/shared/ because it is present on disk but is NOT run by the old runtests.jl (it depends on CairoMakie). test/shared/ is not a declared group, so it is never discovered, preserving that exclusion.

SciMLTesting added to [extras], [targets].test, and [compat] (= "1"). test/test_groups.toml is unchanged ([Core], [QA]).

Per-GROUP behavior preserved exactly, verified by driving run_tests v1.2.0 over GROUP=Core/QA/All with stub bodies:

  • GROUP=Core fires exactly the 19 functional files (multibody excluded), matching the old dispatcher.
  • GROUP=QA fires Aqua.

These are the GROUP values CI uses (grouped-tests.yml runs Core + QA; downgrade.yml runs Core).

Ignore until reviewed by @ChrisRackauckas.

Convert ModelingToolkitStandardLibrary.jl to the SciMLTesting v1.2
folder-discovery model. runtests.jl becomes `using SciMLTesting;
run_tests()`.

Layout:
- Core: the functional test files are flattened from their domain
  subfolders (Blocks/, Electrical/, Thermal/, Magnetic/, Mechanical/,
  Hydraulic/) to the top level of test/, which is the Core group in the
  folder model. Folder-discovery does not recurse into subfolders, so
  Core must live at the top level. Basenames do not collide.
- QA: test/aqua.jl moves to test/qa/aqua.jl. QA runs in the main test
  env (Aqua is in the root [extras]); no test/qa/Project.toml is added.
- test/Mechanical/multibody.jl moves to test/shared/ because it is
  present on disk but is NOT run by the old runtests.jl (it depends on
  CairoMakie). test/shared/ is not a declared group, so it is never
  discovered, preserving that exclusion.

Per-GROUP behavior is preserved exactly: GROUP=Core runs the same 19
functional files as before (multibody excluded); GROUP=QA runs Aqua.

SciMLTesting added to [extras], [targets].test, and [compat] ("1").

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ChrisRackauckas-Claude ChrisRackauckas-Claude changed the title Use SciMLTesting v1.0.0 (run_tests harness) Use SciMLTesting v1.2 (folder-based run_tests) Jun 14, 2026
@ChrisRackauckas ChrisRackauckas marked this pull request as ready for review June 14, 2026 23:54
@ChrisRackauckas ChrisRackauckas merged commit c44704f into SciML:main Jun 14, 2026
6 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants