Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
23f27b5
Fixed namespace issues
mikucionisaau Jul 7, 2026
d0e52dd
Moved executable utilities to src from test, added a check for extern…
mikucionisaau Jul 8, 2026
2047021
Added CMake presets for regular, sanitized and quick builds
mikucionisaau Jul 8, 2026
a60b72c
Added code coverage CMake workflows and Bash scripts
mikucionisaau Jul 8, 2026
825f9d7
Add CLAUDE.md with build/test commands and architecture overview
mikucionisaau Jul 8, 2026
cb7312a
Add AbstractBuilder unit tests and fix missing MITL defaults
mikucionisaau Jul 8, 2026
93833c1
Add PrettyPrinter tests and fix two builder-state leak bugs
mikucionisaau Jul 8, 2026
4113232
Add tests for typeexception.cpp and print.hpp, fixing 0% coverage
mikucionisaau Jul 8, 2026
9f9c531
Fix flex scan buffer leak when a ParserBuilder throws during parsing
mikucionisaau Jul 8, 2026
df81856
Move StatementBuilder's if_begin/if_condition/if_then out of the header
mikucionisaau Jul 8, 2026
e173ada
Fix parse_expression: declared with a never-defined type, never imple…
mikucionisaau Jul 8, 2026
b00fab8
Add TypeChecker.cpp coverage tests for statement forms, type-prefix
mikucionisaau Jul 8, 2026
75c4b7d
Add 4 more TypeChecker.cpp coverage tests
mikucionisaau Jul 8, 2026
1d2e4d8
Add SMC/probability query type-check tests to TypeChecker.cpp coverage
mikucionisaau Jul 8, 2026
de05b1d
Add 8 more TypeChecker.cpp coverage tests
mikucionisaau Jul 8, 2026
bd6787e
Add 4 more TypeChecker.cpp coverage tests
mikucionisaau Jul 8, 2026
62bff21
Add CSP/refinement and urgent/deterministic edge checks to TypeChecke…
mikucionisaau Jul 8, 2026
2db8a11
Fixed linter warnings about unused parameters
mikucionisaau Jul 8, 2026
0e6e50a
Add property_test.cpp, exercising PropertyBuilder/TigaPropertyBuilder
mikucionisaau Jul 8, 2026
e134d8d
Add ExpressionBuilder_test.cpp, exercising 15 previously-uncovered fu…
mikucionisaau Jul 9, 2026
123dde3
Fix crash in Location::print()/Edge::print() on empty Expression fields
mikucionisaau Jul 9, 2026
324be8f
Add document_test.cpp, exercising 17 previously-uncovered Document/
mikucionisaau Jul 9, 2026
6c2f209
Fix XMLReader::model_options() and expectation() to parse nested elem…
mikucionisaau Jul 9, 2026
49e1cdc
Add DocumentBuilder tests covering queries, expectations and gantt ch…
mikucionisaau Jul 9, 2026
6379179
Fix Error stream output to print the path text, not its pointer address
mikucionisaau Jul 9, 2026
3fc50a9
Add position.cpp tests covering PositionIndex and Error formatting
mikucionisaau Jul 9, 2026
a707a8e
Fix Expression::print()/str() crash on an empty expression
mikucionisaau Jul 9, 2026
d97c2c6
Fix Symbol/Frame operator<< namespace mismatch preventing linkage
mikucionisaau Jul 9, 2026
98ad50e
Add expression.cpp tests covering printing, cloning and symbol analysis
mikucionisaau Jul 9, 2026
4fe0096
Fix doubled "is not supported" message in PropertyBuilder exceptions
mikucionisaau Jul 9, 2026
80adb9a
Add property.cpp tests covering priorities, control synthesis and exp…
mikucionisaau Jul 9, 2026
bc8c676
Fix LSCInstanceLine::get_simregions() crash on the routine null-field…
mikucionisaau Jul 9, 2026
842868c
Add document.cpp tests covering print formatting, duplicates and LSC …
mikucionisaau Jul 9, 2026
78c1e36
Add xmlwriter_test.cpp covering XML rendering paths
mikucionisaau Jul 9, 2026
aad008b
Move trivial Statement accept()/returns() bodies out-of-line
mikucionisaau Jul 9, 2026
496d41c
Add statement.cpp/hpp tests reaching 100% line coverage
mikucionisaau Jul 9, 2026
aa02075
Fixing CI action script
mikucionisaau Jul 9, 2026
c1414ac
Fix crash in visit_io_decl's CSP/IO mismatch error on empty csp list
mikucionisaau Jul 10, 2026
f00373b
Fix ASS_PLUS (+=) type-check to return false on error, like its siblings
mikucionisaau Jul 10, 2026
cc58c1d
Add extensive TypeChecker.cpp tests raising coverage from 70% to 80%
mikucionisaau Jul 10, 2026
ae86ec2
Fix xmlwriter_test Windows file-locking failure
mikucionisaau Jul 10, 2026
8c64222
Guard NDEBUG-only warning check in typechecker_test
mikucionisaau Jul 10, 2026
2dda023
Fix GH CI action scripts
mikucionisaau Jul 10, 2026
be474de
Renamed featurechecker.cpp to featurecheck.cpp which clashed with Fea…
mikucionisaau Jul 10, 2026
5f4b39e
Link bcrypt on native Windows gcc/clang toolchains
mikucionisaau Jul 10, 2026
df8e47b
Fixed GH CI for Darwin AppleClang
mikucionisaau Jul 10, 2026
5b98fbc
Fixed build on macOS with AppleClang
mikucionisaau Jul 10, 2026
23493d4
Fix parser_test Windows error-message expectations
mikucionisaau Jul 10, 2026
380a826
Switched the string containment check to doctest rather than custom
mikucionisaau Jul 10, 2026
fa58a71
Fix use-after-pop of dangling reference in expr_sum_dynamic_end
mikucionisaau Jul 10, 2026
d2e4e59
Fix PositionIndex::print streaming the path pointer, not its text
mikucionisaau Jul 10, 2026
0e0d3f1
Suppress cppcoreguidelines-macro-usage for bison-generated YY macros
mikucionisaau Jul 10, 2026
873ed65
Suppress GCC false-positive -Wfree-nonheap-object on generated parser…
mikucionisaau Jul 10, 2026
88e5b88
Add debug/release configure preset aliases and rename quick presets
mikucionisaau Jul 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,5 @@ CheckOptions:
value: yy_sname # Generated by bison, so we don't care
- key: modernize-deprecated-headers.CheckHeaderFile
value: true
- key: cppcoreguidelines-macro-usage.AllowedRegexp
value: '^YY' # Generated by bison, so we don't care
42 changes: 21 additions & 21 deletions .github/workflows/darwin-appleclang.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,64 +29,62 @@ on:
- 'examples/cmake/*.cmake'

jobs:
build:
runs-on: macos-13
darwin-appleclang:
runs-on: macos-15
# see https://github.com/actions/runner-images/blob/main/images/macos/macos-13-Readme.md
env:
CCACHE_DIR: ${{ github.workspace }}/CCACHE
BUILD_DIR: build-darwin
CTEST_OUTPUT_ON_FAILURE: 1
CMAKE_TOOLCHAIN_FILE: ${{ github.workspace }}/cmake/toolchain/darwin.cmake
CMAKE_PREFIX_PATH: ${{ github.workspace }}/local/darwin
CMAKE_INSTALL_PREFIX: ${{ github.workspace }}/local/darwin
CMAKE_GENERATOR: Ninja
CMAKE_BUILD_TYPE: Debug
CFLAGS: "-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstrict-flex-arrays=2 -fno-omit-frame-pointer -fsanitize=undefined -fsanitize=address -fstack-protector-strong"
CXXFLAGS: "-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -D_GLIBCXX_ASSERTIONS -fstrict-flex-arrays=2 -fno-omit-frame-pointer -fsanitize=undefined -fsanitize=address -fstack-protector-strong"
LDFLAGS: "-fno-omit-frame-pointer -fsanitize=undefined -fsanitize=address -fstack-protector-strong"
CC: cc
CXX: c++
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '14.3.1'
xcode-version: '16.4.0'
- name: Get Home Brew dependencies
run: |
brew install -q cmake ninja ccache flex bison wget curl coreutils automake autoconf libtool gnu-sed gawk
NINJA_PATH=$(brew --prefix ninja)/bin
BISON_PATH=$(brew --prefix bison)/bin
FLEX_PATH=$(brew --prefix flex)/bin
export PATH="${NINJA_PATH}:${BISON_PATH}:${FLEX_PATH}:${PATH}"
command -v ninja
command -v ninja
command -v bison
command -v flex
echo "$PATH" >> $GITHUB_PATH

- name: Compute CCache keys
id: darwin-keys
id: ccache-keys
run: |
key2=ccache-darwin-
key2=ccache-darwin-appleclang-
key1="${key2}$(date +%W)"
echo "key1=${key1}" >> $GITHUB_OUTPUT
echo "key2=${key2}" >> $GITHUB_OUTPUT
- name: Restore CCache
id: ccache-restore
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ${{ env.CCACHE_DIR }}
key: ${{ steps.darwin-keys.outputs.key1 }}
restore-keys: ${{ steps.darwin-keys.outputs.key2 }}
key: ${{ steps.ccache-keys.outputs.key1 }}
restore-keys: ${{ steps.ccache-keys.outputs.key2 }}
- name: CCache Limits and Stats
run: |
ccache -M120M
ccache --show-stats

- name: Restore Libs
id: restore-libs
uses: actions/cache/restore@v4
uses: actions/cache/restore@v5
with:
path: local/darwin
key: libs-darwin-${{ hashFiles('getlibs.sh') }}
restore-keys: libs-darwin
key: libs-darwin-appleclang-${{ hashFiles('getlibs.sh') }}
restore-keys: libs-darwin-appleclang
- name: Get library dependencies
if: steps.restore-libs.outputs.cache-hit != 'true'
run: ./getlibs.sh darwin
Expand All @@ -98,13 +96,15 @@ jobs:
path: local/darwin
key: ${{ steps.restore-libs.outputs.cache-primary-key }}
- name: Configure UTAP
run: cmake -B "$BUILD_DIR" -DUTAP_CLANG_TIDY=OFF
run: cmake -DUTAP_CLANG_TIDY=OFF --preset debug-san
- name: Build UTAP
run: cmake --build "$BUILD_DIR" --config $CMAKE_BUILD_TYPE
run: cmake --build --preset debug-san
- name: Test UTAP
run: ctest --test-dir "$BUILD_DIR" -C $CMAKE_BUILD_TYPE
run: ctest --preset debug-san
- name: Quick UTAP Release
run: cmake --workflow --preset release-quick
- name: Install UTAP
run: cmake --install "$BUILD_DIR" --config $CMAKE_BUILD_TYPE --prefix="$CMAKE_INSTALL_PREFIX"
run: cmake --install build-quick --config Release --prefix="$CMAKE_INSTALL_PREFIX"
- name: CCache Statistics
run: ccache --show-stats
- name: Configure Examples
Expand Down
36 changes: 18 additions & 18 deletions .github/workflows/darwin-brew-gcc15.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,26 +29,24 @@ on:
- 'examples/cmake/*.cmake'

jobs:
build:
runs-on: macos-13
darwin-gcc15:
runs-on: macos-15
# see https://github.com/actions/runner-images/blob/main/images/macos/macos-13-Readme.md
env:
CCACHE_DIR: ${{ github.workspace }}/CCACHE
BUILD_DIR: build-darwin-brew-gcc15
CTEST_OUTPUT_ON_FAILURE: 1
CMAKE_TOOLCHAIN_FILE: ${{ github.workspace }}/cmake/toolchain/darwin-brew-gcc15.cmake
CMAKE_PREFIX_PATH: ${{ github.workspace }}/local/darwin-brew-gcc15
CMAKE_INSTALL_PREFIX: ${{ github.workspace }}/local/darwin-brew-gcc15
CMAKE_GENERATOR: Ninja
CMAKE_BUILD_TYPE: Debug
CFLAGS: "-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstrict-flex-arrays=2 -fno-omit-frame-pointer -fsanitize=leak -fstack-protector-strong"
CXXFLAGS: "-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -D_GLIBCXX_ASSERTIONS -fstrict-flex-arrays=2 -fno-omit-frame-pointer -fsanitize=leak -fstack-protector-strong"
LDFLAGS: "-fno-omit-frame-pointer -fsanitize=leak -fstack-protector-strong"
CC: gcc-15
CXX: g++-15
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '14.3.1'
xcode-version: '16.4.0'
- name: Get Home Brew dependencies
run: |
brew install -q cmake ninja ccache gcc@15 flex bison wget curl coreutils automake autoconf libtool gnu-sed gawk
Expand All @@ -62,27 +60,27 @@ jobs:
echo "$PATH" >> $GITHUB_PATH

- name: Compute CCache keys
id: darwin-keys
id: ccache-keys
run: |
key2=ccache-darwin-brew-gcc15-
key1="${key2}$(date +%W)"
echo "key1=${key1}" >> $GITHUB_OUTPUT
echo "key2=${key2}" >> $GITHUB_OUTPUT
- name: Restore CCache
id: ccache-restore
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ${{ env.CCACHE_DIR }}
key: ${{ steps.darwin-keys.outputs.key1 }}
restore-keys: ${{ steps.darwin-keys.outputs.key2 }}
key: ${{ steps.ccache-keys.outputs.key1 }}
restore-keys: ${{ steps.ccache-keys.outputs.key2 }}
- name: CCache Limits and Stats
run: |
ccache -M120M
ccache --show-stats

- name: Restore Libs
id: restore-libs
uses: actions/cache/restore@v4
uses: actions/cache/restore@v5
with:
path: local/darwin-brew-gcc15
key: libs-darwin-brew-gcc15-${{ hashFiles('getlibs.sh') }}
Expand All @@ -98,18 +96,20 @@ jobs:
path: local/darwin-brew-gcc15
key: ${{ steps.restore-libs.outputs.cache-primary-key }}
- name: Configure UTAP
run: cmake -B "$BUILD_DIR" -DUTAP_CLANG_TIDY=OFF
run: cmake -DUTAP_CLANG_TIDY=OFF --preset debug
- name: Build UTAP
run: cmake --build "$BUILD_DIR" --config $CMAKE_BUILD_TYPE
run: cmake --build --preset debug
- name: Test UTAP
run: ctest --test-dir "$BUILD_DIR" -C $CMAKE_BUILD_TYPE
run: ctest --preset debug
- name: Quick UTAP Release
run: cmake --workflow --preset release-quick
- name: Install UTAP
run: cmake --install "$BUILD_DIR" --config $CMAKE_BUILD_TYPE --prefix="$CMAKE_INSTALL_PREFIX"
run: cmake --install build-quick --config Release --prefix="$CMAKE_INSTALL_PREFIX"
- name: CCache Statistics
run: ccache --show-stats
- name: Configure Examples
run: cmake -B examples/build -S examples
- name: Build Examples
run: cmake --build examples/build
- name: Test Examples
run: ctest --test-dir examples/build --output-on-failure
run: ctest --test-dir examples/build
35 changes: 17 additions & 18 deletions .github/workflows/ubuntu-clang20.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,22 +29,19 @@ on:
- 'examples/cmake/*.cmake'

jobs:
build:
ubuntu-clang20:
runs-on: ubuntu-latest
env:
CCACHE_DIR: ${{ github.workspace }}/CCACHE
BUILD_DIR: build-x86_64-linux64-clang20
CTEST_OUTPUT_ON_FAILURE: 1
CMAKE_TOOLCHAIN_FILE: ${{ github.workspace }}/cmake/toolchain/x86_64-linux-clang20.cmake
CMAKE_PREFIX_PATH: ${{ github.workspace }}/local/x86_64-linux-clang20
CMAKE_INSTALL_PREFIX: ${{ github.workspace }}/local/x86_64-linux-clang20
CMAKE_GENERATOR: Ninja
CMAKE_TOOLCHAIN_FILE: ${{ github.workspace }}/cmake/toolchain/x86_64-linux-clang20.cmake
CMAKE_BUILD_TYPE: Debug
CFLAGS: "-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstrict-flex-arrays=2 -fno-omit-frame-pointer -fsanitize=undefined -fsanitize=address -fsanitize=leak -fstack-protector-strong"
CXXFLAGS: "-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -D_GLIBCXX_ASSERTIONS -fstrict-flex-arrays=2 -fno-omit-frame-pointer -fsanitize=undefined -fsanitize=address -fsanitize=leak -fstack-protector-strong"
LDFLAGS: "-fno-omit-frame-pointer -fsanitize=undefined -fsanitize=address -fsanitize=leak -fstack-protector-strong"
CC: clang-20
CXX: clang++-20
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Get Ubuntu dependencies
run: |
sudo apt-get -qq update
Expand All @@ -65,7 +62,7 @@ jobs:

- name: Restore CCache
id: ccache-restore
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ${{ env.CCACHE_DIR }}
key: ${{ steps.x86_64-linux-clang20-keys.outputs.key1 }}
Expand All @@ -77,7 +74,7 @@ jobs:

- name: Restore Libs
id: restore-libs
uses: actions/cache/restore@v4
uses: actions/cache/restore@v5
with:
path: local/x86_64-linux-clang20
key: libs-x86_64-linux-clang20-${{ hashFiles('getlibs.sh') }}
Expand All @@ -88,23 +85,25 @@ jobs:
- name: Save Libs
if: steps.restore-libs.outputs.cache-hit != 'true'
id: save-libs
uses: actions/cache/save@v4
uses: actions/cache/save@v5
with:
path: local/x86_64-linux-clang20
key: ${{ steps.restore-libs.outputs.cache-primary-key }}
- name: Configure UTAP
run: cmake -B "$BUILD_DIR" -DUTAP_CLANG_TIDY=OFF
run: cmake -DUTAP_CLANG_TIDY=OFF --preset debug-san
- name: Build UTAP
run: cmake --build "$BUILD_DIR" --config $CMAKE_BUILD_TYPE
run: cmake --build --preset debug-san
- name: Test UTAP
run: ctest --test-dir "$BUILD_DIR" -C $CMAKE_BUILD_TYPE
run: ctest --preset debug-san
- name: Quick UTAP Release
run: cmake --workflow --preset release-quick
- name: Install UTAP
run: cmake --install "$BUILD_DIR" --config $CMAKE_BUILD_TYPE --prefix "$CMAKE_INSTALL_PREFIX"
run: cmake --install build-quick --config Release --prefix "$CMAKE_INSTALL_PREFIX"
- name: CCache Statistics
run: ccache --show-stats
- name: Configure Examples
run: cmake -B examples/build -S examples
run: cmake -B "examples/${BUILD_DIR}" -S examples
- name: Build Examples
run: cmake --build examples/build
run: cmake --build "examples/${BUILD_DIR}" --config "$CMAKE_BUILD_TYPE"
- name: Test Examples
run: ctest --test-dir examples/build
run: ctest --test-dir "examples/${BUILD_DIR}"
33 changes: 16 additions & 17 deletions .github/workflows/ubuntu-gcc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,22 +29,19 @@ on:
- 'examples/cmake/*.cmake'

jobs:
build:
ubuntu-gcc14:
runs-on: ubuntu-latest
env:
CCACHE_DIR: ${{ github.workspace }}/CCACHE
BUILD_DIR: build-x86_64-linux64-gcc14
CTEST_OUTPUT_ON_FAILURE: 1
CMAKE_TOOLCHAIN_FILE: ${{ github.workspace }}/cmake/toolchain/x86_64-linux-gcc14.cmake
CMAKE_PREFIX_PATH: ${{ github.workspace }}/local/x86_64-linux-gcc14
CMAKE_INSTALL_PREFIX: ${{ github.workspace }}/local/x86_64-linux-gcc14
CMAKE_GENERATOR: Ninja
CMAKE_BUILD_TYPE: Debug
CFLAGS: "-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstrict-flex-arrays=2 -fno-omit-frame-pointer -fsanitize=undefined -fsanitize=address -fsanitize=leak -fstack-protector-strong"
CXXFLAGS: "-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -D_GLIBCXX_ASSERTIONS -fstrict-flex-arrays=2 -fno-omit-frame-pointer -fsanitize=undefined -fsanitize=address -fsanitize=leak -fstack-protector-strong"
LDFLAGS: "-fno-omit-frame-pointer -fsanitize=undefined -fsanitize=address -fsanitize=leak -fstack-protector-strong"
CC: gcc-14
CXX: g++-14
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Get Ubuntu dependencies
run: |
sudo apt-get -qq update
Expand All @@ -65,7 +62,7 @@ jobs:

- name: Restore CCache
id: ccache-restore
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ${{ env.CCACHE_DIR }}
key: ${{ steps.x86_64-linux-gcc14-keys.outputs.key1 }}
Expand All @@ -77,7 +74,7 @@ jobs:

- name: Restore Libs
id: restore-libs
uses: actions/cache/restore@v4
uses: actions/cache/restore@v5
with:
path: local/x86_64-linux-gcc14
key: libs-x86_64-linux-gcc14-${{ hashFiles('getlibs.sh') }}
Expand All @@ -88,23 +85,25 @@ jobs:
- name: Save Libs
if: steps.restore-libs.outputs.cache-hit != 'true'
id: save-libs
uses: actions/cache/save@v4
uses: actions/cache/save@v5
with:
path: local/x86_64-linux-gcc14
key: ${{ steps.restore-libs.outputs.cache-primary-key }}
- name: Configure UTAP
run: cmake -B "$BUILD_DIR" -DUTAP_CLANG_TIDY=OFF
run: cmake -DUTAP_CLANG_TIDY=OFF --preset debug-san
- name: Build UTAP
run: cmake --build "$BUILD_DIR" --config $CMAKE_BUILD_TYPE
run: cmake --build --preset debug-san
- name: Test UTAP
run: ctest --test-dir "$BUILD_DIR" -C $CMAKE_BUILD_TYPE
run: ctest --preset debug-san
- name: Quick UTAP Release
run: cmake --workflow --preset release-quick
- name: Install UTAP
run: cmake --install "$BUILD_DIR" --config $CMAKE_BUILD_TYPE --prefix "$CMAKE_INSTALL_PREFIX"
run: cmake --install build-quick --config Release --prefix "$CMAKE_INSTALL_PREFIX"
- name: CCache Statistics
run: ccache --show-stats
- name: Configure Examples
run: cmake -B examples/build -S examples
run: cmake -B "examples/${BUILD_DIR}" -S examples
- name: Build Examples
run: cmake --build examples/build
run: cmake --build "examples/${BUILD_DIR}" --config "$CMAKE_BUILD_TYPE"
- name: Test Examples
run: ctest --test-dir examples/build
run: ctest --test-dir "examples/${BUILD_DIR}"
Loading
Loading