Keep NAND moves internal and prevent destination overwrite races

This commit is contained in:
patchzyy
2026-09-07 22:50:13 +02:00
parent 58bfd32022
commit afb8f49866
7 changed files with 224 additions and 85 deletions
+27
View File
@@ -46,3 +46,30 @@ jobs:
- name: Test
run: dotnet test translator/Translator.sln -c Release --no-build --verbosity normal
nand:
name: NAND regression tests (${{ matrix.os }})
runs-on: ${{ matrix.os }}
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
os: [windows-latest, ubuntu-latest, macos-14]
steps:
- uses: actions/checkout@v7
with:
persist-credentials: false
- name: Compile and run NAND tests
shell: bash
run: |
flags=(-std=c++17 -Wall -Wextra -Werror)
if [[ "$RUNNER_OS" != Windows ]]; then flags+=(-pthread); fi
clang++ "${flags[@]}" -Iruntime/src/hle/storage \
runtime/tests/nand_move_tests.cpp runtime/src/hle/storage/nand_file_ops.cpp \
-o "$RUNNER_TEMP/nand_move_tests.exe"
"$RUNNER_TEMP/nand_move_tests.exe"
for test in nand_save nand_settings; do
clang++ "${flags[@]}" -Iruntime/include "runtime/tests/${test}_tests.cpp" \
-o "$RUNNER_TEMP/${test}_tests.exe"
"$RUNNER_TEMP/${test}_tests.exe"
done