Skip to content

Add step over (#195) #993

Add step over (#195)

Add step over (#195) #993

Workflow file for this run

name: Tests
on: [ push ]
jobs:
# Stage 1: unit test vm machinery
unit:
name: Run VM unit tests
runs-on: ${{matrix.os}}
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest ]
if: github.event.pull_request.draft == false
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Create build folder
run: mkdir build-unit-tests
- name: Build unit tests
run: cmake .. -D BUILD_UNITTEST=ON ; cmake --build .
working-directory: build-unit-tests
- name: Run unit tests
run: ctest -VV
working-directory: build-unit-tests
# Stage 2: integration testing with official Wasm specification test suite
spectests:
name: Run official testsuite
needs: unit
runs-on: ubuntu-latest
if: github.event.pull_request.draft == false
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v3
with:
node-version: 16
- name: Build warduino cli
run: |
cmake . -D BUILD_EMULATOR=ON
cmake --build .
echo "EMULATOR=$(realpath ./wdcli)" >> $GITHUB_ENV
- name: Build WABT # Build latest version
run: |
git clone --recursive https://github.com/TOPLLab/wabt.git
cd wabt
git checkout develop
git submodule update --init
mkdir build; cd build
cmake ..
cmake --build .
- name: Verify wat2wasm
run: |
echo "WABT=$(readlink -f ./wabt/build)" >> $GITHUB_ENV
./wabt/build/wat2wasm --version
- run: npm install
working-directory: tests/latch/
- name: Run Latch
run: npm run spectest
working-directory: tests/latch/
# Stage 3: end-to-end testing of primitives and debugger
primtests:
name: Run WARDuino primitives testsuite
needs: spectests
runs-on: ubuntu-latest
if: github.event.pull_request.draft == false
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v3
with:
node-version: 16
- name: Build warduino cli
run: |
cmake . -D BUILD_EMULATOR=ON
cmake --build .
echo "EMULATOR=$(realpath ./wdcli)" >> $GITHUB_ENV
- name: Build WABT # Build latest version
run: |
git clone --recursive https://github.com/TOPLLab/wabt.git
cd wabt
git checkout develop
git submodule update --init
mkdir build; cd build
cmake ..
cmake --build .
- name: Verify wat2wasm
run: |
echo "WABT=$(readlink -f ./wabt/build)" >> $GITHUB_ENV
./wabt/build/wat2wasm --version
- run: npm install
working-directory: tests/latch/
- name: Run Latch
run: npm run primtest
working-directory: tests/latch/
debugtests:
name: Run debugger testsuite
needs: spectests
runs-on: ubuntu-latest
if: github.event.pull_request.draft == false
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-node@v3
with:
node-version: 16
- name: Build warduino cli
run: |
cmake . -D BUILD_EMULATOR=ON
cmake --build .
echo "EMULATOR=$(realpath ./wdcli)" >> $GITHUB_ENV
- name: Build WABT # Build latest version
run: |
git clone --recursive https://github.com/TOPLLab/wabt.git
cd wabt
git checkout develop
git submodule update --init
mkdir build; cd build
cmake ..
cmake --build .
- name: Verify wat2wasm
run: |
echo "WABT=$(readlink -f ./wabt/build)" >> $GITHUB_ENV
./wabt/build/wat2wasm --version
- run: npm install
working-directory: tests/latch/
- name: Run Latch
run: npm run debugtest
working-directory: tests/latch/