Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
28 changes: 26 additions & 2 deletions .github/workflows/run-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
container:
image: silkeh/clang:19
options: --user root
timeout-minutes: 20
timeout-minutes: 30
steps:
- name: Install deps
run: |
Expand All @@ -45,8 +45,32 @@ jobs:
run: |
cmake -G Ninja -B build -DCMAKE_BUILD_TYPE=RelWithAssert
cmake --build build --target verify-targets verify-blocking
- name: "Tests"
- name: "Verifying tests"
run: ctest --parallel 4 --test-dir build -L "verify" -V
litmus-test:
runs-on: ubuntu-latest
defaults:
run:
shell: bash
container:
image: silkeh/clang:19
options: --user root
timeout-minutes: 30
steps:
- name: Install deps
run: |
apt update && apt install -y git ninja-build valgrind libgoogle-glog-dev libsnappy-dev protobuf-compiler libboost-context-dev pkg-config libcapstone-dev libclang-19-dev && \
git clone https://github.com/Kirillog/syscall_intercept.git && \
cmake syscall_intercept -G Ninja -B syscall_intercept/build -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang && \
cmake --build syscall_intercept/build --target install
- name: Check out repository code
uses: actions/checkout@v4
- name: Build
run: |
cmake -G Ninja -B build -DCMAKE_BUILD_TYPE=RelWithAssert
cmake --build build --target verify-litmus
- name: "Litmus tests"
run: ctest --parallel 4 --test-dir build -L "litmus" -V
verifying-folly-release:
runs-on: ubuntu-latest
env:
Expand Down
7 changes: 6 additions & 1 deletion codegen/yieldpass.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,12 @@ struct YieldInserter {
}
}

#ifndef DEBUG
// This change was added to instrument methods recusively for some VK data
// structure, which had a lot of methods inside of it. This change allows to
// insert thread interleavings in the methods without marking them with
// `non_atomic` attribute. This flag is unset by default, because it might cause
// wmm tests to instrument the LTest code, which is leads to errors.
#if defined(LTEST_RECURSIVE_YIELDS)
for (auto &B : F) {
for (auto &I : B) {
if (auto call = dyn_cast<CallInst>(&I)) {
Expand Down
1 change: 0 additions & 1 deletion runtime/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ set (SOURCE_FILES
lib.cpp
lin_check.cpp
logger.cpp
pretty_printer.cpp
verifying.cpp
generators.cpp
minimization.cpp
Expand Down
12 changes: 12 additions & 0 deletions runtime/include/custom_round.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#pragma once

#include <vector>

#include "lib.h"

struct CustomRound {
CustomRound(std::vector<std::vector<TaskBuilder>> threads_)
: threads(threads_) {}

std::vector<std::vector<TaskBuilder>> threads;
};
Loading
Loading