Skip to content

Close the unterminated @testset in ode_initdt_tests.jl - #4013

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:fix-initdt-test-syntax
Jul 25, 2026
Merged

ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:fix-initdt-test-syntax

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member

This PR should be ignored until reviewed by @ChrisRackauckas.

The failure

test/InterfaceI/ode_initdt_tests.jl does not parse on master:

LoadError: ParseError:
# Error @ test/InterfaceI/ode_initdt_tests.jl:130:5
    @test SciMLBase.successful_retcode(sol_ok)
end
└ ── Expected `end`

The @testset "DAE reversed tspan automatic initdt (#908)" block added in #4001
was never closed. The file's last end closes the for loop inside it, so the
parser reaches EOF still expecting the testset's end.

Blast radius

One missing end, five red jobs on master:

Job Symptom
tests / InterfaceI (julia lts) Initdt Tests errored, group failed
tests / InterfaceI (julia 1) same
tests / InterfaceI (julia pre) same
Downgrade / Downgrade Tests - InterfaceI same
format-check / Runic [954/1017] test/InterfaceI/ode_initdt_tests.jl ✖ (Runic cannot format a file that will not parse)

Because the file never parsed, every assertion in the #908 testset has been
dead since #4001 merged
— the integ.dt < 0 regression check that PR was
written to add has never actually executed.

The fix

Add the missing end.

Verification

Ran locally on Julia 1.10 (lts), from a clean checkout of this branch:

$ GROUP=InterfaceI julia --project=. -e 'using Pkg; Pkg.test()'
...
Test Summary: | Pass  Total     Time
Initdt Tests  |   29     29  1m14.6s
...
     Testing OrdinaryDiffEq tests passed

29 passing assertions where master got 15 passed + 1 error — the 14 newly-live
assertions in the #908 testset all pass, so #4001's fix is sound; only its test
was unreachable.

Runic is clean on the file:

$ julia --project=@runic -e 'using Runic; exit(Runic.main(["--check","--diff","test/InterfaceI/ode_initdt_tests.jl"]))'
$ echo $?
0

Relation to other PRs

#4012 bundles this fix together with two unrelated changes. This PR is the
parse fix on its own so it can land and unblock InterfaceI/Downgrade/format-check
independently.

🤖 Generated with Claude Code

https://claude.ai/code/session_01TPHRh64BLfoXSzQ3AxKNwC

The `@testset "DAE reversed tspan automatic initdt (SciML#908)"` block added in
SciML#4001 was never closed, so `ode_initdt_tests.jl` failed to parse: the file's
final `end` closed the `for` loop and the parser hit EOF still expecting the
testset's `end`.

This took out every job that loads the file — InterfaceI on lts/1/pre, the
Downgrade InterfaceI lane, and the Runic format check.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas
ChrisRackauckas marked this pull request as ready for review July 25, 2026 03:45
@ChrisRackauckas
ChrisRackauckas merged commit 60f9917 into SciML:master Jul 25, 2026
121 of 127 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