Skip to content

test: use Base.ifelse in Chua circuit#477

Merged
ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:agent/fix-chua-base-ifelse
Jul 13, 2026
Merged

test: use Base.ifelse in Chua circuit#477
ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:agent/fix-chua-base-ifelse

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member

Summary

Remove the stale using IfElse: ifelse from the Chua circuit test. The test now uses Julia's built-in Base.ifelse, matching the production-code migration in #473.

Root cause

Commit dca3a237b1cda8c6befdf5bd0ef53f4c03fbd9b9 removed IfElse.jl from the package dependencies and migrated production call sites, but missed test/chua_circuit.jl. The Core group has therefore failed at test loading since #473; the first bad release is v2.29.3 (v2.29.2 is the last release before the removal), and v2.29.4 remains affected.

This also breaks ModelingToolkit's downstream Core job on both master and unrelated PRs:

Verification

Using Julia 1.12.6, ModelingToolkit ee7dd34d8b7cfe8a085e0fa04cec28a607053f66, and the reusable downstream workflow locally:

# Unmodified v2.29.3
Core/analog.jl       | Pass 99  Total 99
Core/chua_circuit.jl | Error 1  Total 1
ArgumentError: Package IfElse not found in current path.

# Current main plus this patch
Core/analog.jl       | Pass 99  Total 99
Core/chua_circuit.jl | Pass 1   Total 1

Runic v1.7.0 --check . also completed successfully.

The full Core run continued past Chua and exposed three unrelated isothermal_compressible.jl ExtraVariablesSystemException errors. Those are outside this one-line test-import fix and are being routed to a separate clean-main reproduction/bisect; they were previously masked by the earlier Chua load error.

Please ignore this PR until reviewed by @ChrisRackauckas.

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Execution note for commit 37ce6f433911734e07d70ef5126b12842ad2e910:

  1. Synced fork main to upstream 289ba1af before creating agent/fix-chua-base-ifelse.
  2. Reproduced the downstream failure from a detached MTK ee7dd34d worktree and MTKStandardLibrary debaa902 worktree with isolated depot and GROUP=Core.
  3. Applied only the stale-import deletion on current main and reran the same downstream setup without coverage. analog.jl passed 99/99 and chua_circuit.jl passed 1/1.
  4. Ran Runic v1.7.0 --check . successfully and staged only test/chua_circuit.jl.

The later isothermal errors noted in the PR body are kept separate from this focused regression fix.

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

CI triage update:

  • The focused regression is green locally: Analog 99/99 and Chua 1/1 after removing the stale IfElse import.
  • Core LTS and stable progress past Chua, then reproduce the three later isothermal_compressible.jl ExtraVariablesSystemException errors (3 pass/3 error). A separate clean-main reproduction/version audit is active.
  • Downgrade reproduces the existing HeatingDiode failure (98 pass/1 fail), identical to run 29188071527 before this PR.
  • Documentation reproduces the current-main example-block failures (main run 29188709925 is also red). No examples are set to warn-only and no errors are swallowed.

These residual failures are disclosed rather than folded into this one-line Chua fix.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas-Claude
ChrisRackauckas-Claude force-pushed the agent/fix-chua-base-ifelse branch from 37ce6f4 to 48dfbc6 Compare July 13, 2026 02:37
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Base-freshness update:

  • Rebased the single test fix onto current main aa22067b (merged Raise SymbolicUtils floor for minimum dependency tests #479); new head 48dfbc6881.
  • Before updating the remote branch, fetched both upstream and origin, verified the remote feature branch still contained only the old head 37ce6f43, and used an exact-SHA --force-with-lease.
  • Repository-native GROUP=Core on the rebased integration stack reached Core/chua_circuit.jl | 1 pass / 1 total (18.2s).
  • Runic 1.7.0 full-repository check and git diff --check pass.

The broader Core run is continuing through the remaining files; its exact commit set also includes the separately reviewed #478 test repair and the focused ParametrizedInterpolation source fix, and will be reported separately rather than attributed solely to this PR.

@ChrisRackauckas
ChrisRackauckas marked this pull request as ready for review July 13, 2026 09:16
@ChrisRackauckas
ChrisRackauckas merged commit 8539d8f into SciML:main Jul 13, 2026
5 of 11 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