Skip to content

Commit 2fc431f

Browse files
Merge pull request #299 from SciML/tests
Fix testing setup
2 parents 22d488c + 5e84e9b commit 2fc431f

File tree

7 files changed

+133
-79
lines changed

7 files changed

+133
-79
lines changed

.github/workflows/CI.yml

Lines changed: 45 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,66 @@ on:
33
pull_request:
44
branches:
55
- main
6+
- 'release-'
67
paths-ignore:
78
- 'docs/**'
89
push:
910
branches:
1011
- main
1112
paths-ignore:
1213
- 'docs/**'
14+
15+
concurrency:
16+
# Skip intermediate builds: always, but for the master branch.
17+
# Cancel intermediate builds: always, but for the master branch.
18+
group: ${{ github.workflow }}-${{ github.ref }}
19+
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
20+
1321
jobs:
22+
formatter:
23+
runs-on: ${{ matrix.os }}
24+
strategy:
25+
matrix:
26+
julia-version: [1]
27+
julia-arch: [x86]
28+
os: [ubuntu-latest]
29+
steps:
30+
- uses: julia-actions/setup-julia@latest
31+
with:
32+
version: ${{ matrix.julia-version }}
33+
34+
- uses: actions/checkout@v4
35+
- name: Install JuliaFormatter and format
36+
# This will use the latest version by default but you can set the version like so:
37+
#
38+
# julia -e 'using Pkg; Pkg.add(PackageSpec(name="JuliaFormatter", version="0.13.0"))'
39+
run: |
40+
julia -e 'using Pkg; Pkg.add(PackageSpec(name="JuliaFormatter", version="1.0.50"))'
41+
julia -e 'using JuliaFormatter; format(".", verbose=true)'
42+
- name: Format check
43+
run: |
44+
julia -e '
45+
out = Cmd(`git diff`) |> read |> String
46+
if out == ""
47+
exit(0)
48+
else
49+
@error "Some files have not been formatted !!!"
50+
write(stdout, out)
51+
exit(1)
52+
end'
1453
test:
1554
runs-on: ubuntu-latest
1655
strategy:
56+
fail-fast: false
1757
matrix:
1858
group:
19-
- All
59+
- QA
60+
- Core
2061
version:
2162
- '1'
2263
steps:
2364
- uses: actions/checkout@v4
24-
- uses: julia-actions/setup-julia@v2
65+
- uses: julia-actions/setup-julia@v1
2566
with:
2667
version: ${{ matrix.version }}
2768
- uses: actions/cache@v4
@@ -36,6 +77,8 @@ jobs:
3677
${{ runner.os }}-
3778
- uses: julia-actions/julia-buildpkg@v1
3879
- uses: julia-actions/julia-runtest@v1
80+
env:
81+
GROUP: ${{ matrix.group }}
3982
- uses: julia-actions/julia-processcoverage@v1
4083
- uses: codecov/codecov-action@v4
4184
with:

docs/pages.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ pages = [
99
],
1010
"About Acausal Connections" => [
1111
"Theory" => "connectors/connections.md",
12-
"Sign Convention" => "connectors/sign_convention.md",
12+
"Sign Convention" => "connectors/sign_convention.md"
1313
],
1414
"API" => [
1515
"Basic Blocks" => "API/blocks.md",

docs/src/connectors/sign_convention.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ The flow variable (i.e. force) input component for the `Mechanical` domain is
6060
```@example sign_convention
6161
using ModelingToolkit
6262
using ModelingToolkitStandardLibrary.Mechanical.Translational
63+
using ModelingToolkit: t_nounits as t
6364
6465
@mtkmodel ConstantForce begin
6566
@parameters begin

src/Blocks/analysis_points.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,7 @@ function ModelingToolkit.linearization_function(sys::ModelingToolkit.AbstractSys
440440
push!(multiplicities_u, length(ui)) # one ap may yield several new vars
441441
append!(u, ui)
442442
if loop_openings !== nothing && ap.name loop_openings
443-
# In thise case, we break the existing connection.
443+
# In this case, we break the existing connection.
444444
[ap_var(ap.out) .~ ui;], ui
445445
else
446446
[ap_var(ap.out) .~ ap_var(ap.in) + ui;], ui
@@ -454,7 +454,7 @@ function ModelingToolkit.linearization_function(sys::ModelingToolkit.AbstractSys
454454
append!(y, yi)
455455
if loop_openings !== nothing && ap.name loop_openings
456456
[ap_var(ap.in) .~ yi;
457-
ap_var(ap.out) .~ 0], yi # In thise case, we break the existing connection.
457+
ap_var(ap.out) .~ 0], yi # In this case, we break the existing connection.
458458
else
459459
[ap_var(ap.in) .~ yi;
460460
ap_var(ap.out) .~ ap_var(ap.in)], yi

src/Hydraulic/IsothermalCompressible/components.jl

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -495,20 +495,20 @@ See also [`FixedVolume`](@ref), [`DynamicVolume`](@ref)
495495
end
496496

497497
eqs = [
498-
# connectors
499-
port.p ~ p
500-
port.dm ~ dm
501-
flange.v * direction ~ dx
502-
flange.f * direction ~ -f
503-
504-
# differentials
505-
D(x) ~ dx
506-
D(rho) ~ drho
507-
508-
# physics
509-
rho ~ liquid_density(port, p)
510-
f ~ p * area
511-
dm ~ drho * x * area + rho * dx * area]
498+
# connectors
499+
port.p ~ p
500+
port.dm ~ dm
501+
flange.v * direction ~ dx
502+
flange.f * direction ~ -f
503+
504+
# differentials
505+
D(x) ~ dx
506+
D(rho) ~ drho
507+
508+
# physics
509+
rho ~ liquid_density(port, p)
510+
f ~ p * area
511+
dm ~ drho * x * area + rho * dx * area]
512512

513513
ODESystem(eqs, t, vars, pars; name, systems, defaults = [rho => liquid_density(port)])
514514
end

test/qa.jl renamed to test/aqua.jl

File renamed without changes.

test/runtests.jl

Lines changed: 70 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,79 @@
1-
using SafeTestsets
1+
using SafeTestsets, Test
22

3-
@safetestset "Quality Assurance" begin
4-
include("qa.jl")
5-
end
3+
const GROUP = get(ENV, "GROUP", "All")
64

7-
# Blocks
8-
@safetestset "Blocks: utils" begin
9-
include("Blocks/utils.jl")
10-
end
11-
@safetestset "Blocks: math" begin
12-
include("Blocks/math.jl")
13-
end
14-
@safetestset "Blocks: nonlinear" begin
15-
include("Blocks/nonlinear.jl")
16-
end
17-
@safetestset "Blocks: continuous" begin
18-
include("Blocks/continuous.jl")
19-
end
20-
@safetestset "Blocks: sources" begin
21-
include("Blocks/sources.jl")
22-
end
23-
@safetestset "Blocks: analysis points" begin
24-
include("Blocks/test_analysis_points.jl")
25-
end
5+
@time begin
6+
if GROUP == "QA" || GROUP == "All"
7+
@time @safetestset "Aqua" begin
8+
include("aqua.jl")
9+
end
10+
end
2611

27-
# Electrical
28-
@safetestset "Analog Circuits" begin
29-
include("Electrical/analog.jl")
30-
end
12+
if GROUP == "Core" || GROUP == "All"
13+
@testset "Core" begin
14+
# Blocks
15+
@safetestset "Blocks: utils" begin
16+
include("Blocks/utils.jl")
17+
end
18+
@safetestset "Blocks: math" begin
19+
include("Blocks/math.jl")
20+
end
21+
@safetestset "Blocks: nonlinear" begin
22+
include("Blocks/nonlinear.jl")
23+
end
24+
@safetestset "Blocks: continuous" begin
25+
include("Blocks/continuous.jl")
26+
end
27+
@safetestset "Blocks: sources" begin
28+
include("Blocks/sources.jl")
29+
end
30+
@safetestset "Blocks: analysis points" begin
31+
include("Blocks/test_analysis_points.jl")
32+
end
3133

32-
@safetestset "Digital Circuits" begin
33-
include("Electrical/digital.jl")
34-
end
35-
@safetestset "Chua Circuit Demo" begin
36-
include("chua_circuit.jl")
37-
end
34+
# Electrical
35+
@safetestset "Analog Circuits" begin
36+
include("Electrical/analog.jl")
37+
end
3838

39-
# Thermal
40-
@safetestset "Thermal Circuits" begin
41-
include("Thermal/thermal.jl")
42-
end
43-
@safetestset "Thermal Demo" begin
44-
include("Thermal/demo.jl")
45-
end
39+
@safetestset "Digital Circuits" begin
40+
include("Electrical/digital.jl")
41+
end
42+
@safetestset "Chua Circuit Demo" begin
43+
include("chua_circuit.jl")
44+
end
4645

47-
# Magnetic
48-
@safetestset "Magnetic" begin
49-
include("Magnetic/magnetic.jl")
50-
end
46+
# Thermal
47+
@safetestset "Thermal Circuits" begin
48+
include("Thermal/thermal.jl")
49+
end
50+
@safetestset "Thermal Demo" begin
51+
include("Thermal/demo.jl")
52+
end
5153

52-
# Mechanical
53-
@safetestset "Mechanical Rotation" begin
54-
include("Mechanical/rotational.jl")
55-
end
56-
@safetestset "Mechanical Translation" begin
57-
include("Mechanical/translational.jl")
58-
end
59-
@safetestset "Mechanical Translation" begin
60-
include("Mechanical/translational_modelica.jl")
61-
end
62-
@safetestset "Multi-Domain" begin
63-
include("multi_domain.jl")
64-
end
54+
# Magnetic
55+
@safetestset "Magnetic" begin
56+
include("Magnetic/magnetic.jl")
57+
end
58+
59+
# Mechanical
60+
@safetestset "Mechanical Rotation" begin
61+
include("Mechanical/rotational.jl")
62+
end
63+
@safetestset "Mechanical Translation" begin
64+
include("Mechanical/translational.jl")
65+
end
66+
@safetestset "Mechanical Translation" begin
67+
include("Mechanical/translational_modelica.jl")
68+
end
69+
@safetestset "Multi-Domain" begin
70+
include("multi_domain.jl")
71+
end
6572

66-
# Hydraulic
67-
@safetestset "Hydraulic IsothermalCompressible" begin
68-
include("Hydraulic/isothermal_compressible.jl")
73+
# Hydraulic
74+
@safetestset "Hydraulic IsothermalCompressible" begin
75+
include("Hydraulic/isothermal_compressible.jl")
76+
end
77+
end
78+
end
6979
end

0 commit comments

Comments
 (0)