diff --git a/README.md b/README.md index 57fd758..cf7f6ed 100644 --- a/README.md +++ b/README.md @@ -111,7 +111,21 @@ solve!(prob; max_iter=100) - **Modular objectives**: Combine multiple cost terms (regularization, minimum time, etc.) - **Constraint support**: Bounds, equality, and general nonlinear constraints - **Automatic differentiation**: Efficient gradients and Hessians -- **Sparse formulations**: Exploits problem structure for efficiency +- **Sparse formulations**: Exploits problem structure for efficiency + +## Testing + +To run all stable tests: +```bash +julia --project=. test/runtests.jl +``` + +To include experimental tests (tests marked as potentially flaky): +```bash +INCLUDE_EXPERIMENTAL=1 julia --project=. test/runtests.jl +``` + +Some tests are tagged as `experimental` because they may be unstable or flaky in certain environments. By default, these tests are excluded from CI runs to maintain build stability. ### Building Documentation diff --git a/src/constraints/linear/time_consistency_constraint.jl b/src/constraints/linear/time_consistency_constraint.jl index f84bdb7..c1089c6 100644 --- a/src/constraints/linear/time_consistency_constraint.jl +++ b/src/constraints/linear/time_consistency_constraint.jl @@ -81,7 +81,7 @@ end end end -@testitem "TimeConsistencyConstraint with free time optimization" begin +@testitem "TimeConsistencyConstraint with free time optimization" tags=[:experimental] begin include("../../../test/test_utils.jl") using NamedTrajectories diff --git a/test/runtests.jl b/test/runtests.jl index 9f95075..2650210 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -3,4 +3,9 @@ using TestItemRunner # Run all testitem tests in package -@run_package_tests +# Filter out experimental tests unless INCLUDE_EXPERIMENTAL environment variable is set +if !haskey(ENV, "INCLUDE_EXPERIMENTAL") + @run_package_tests filter=ti -> !(:experimental in get(ti, :tags, [])) +else + @run_package_tests +end