cicd: exclude hang tests for exotic arches and ASAN
This commit is contained in:
parent
b205a1f5a2
commit
a9c4965dd6
2 changed files with 14 additions and 2 deletions
4
.github/workflows/sanitize.yml
vendored
4
.github/workflows/sanitize.yml
vendored
|
|
@ -36,14 +36,14 @@ jobs:
|
|||
env:
|
||||
UBSAN_OPTIONS: halt_on_error=1
|
||||
CFLAGS: -fsanitize=undefined
|
||||
RUSTFLAGS: -lubsan
|
||||
RUSTFLAGS: ${{ env.RUSTFLAGS }} -lubsan
|
||||
run: cargo test -- --test-threads 1
|
||||
|
||||
- name: Run main tests with address sanitizer (ASAN)
|
||||
env:
|
||||
ASAN_OPTIONS: halt_on_error=1
|
||||
CFLAGS: -fsanitize=address
|
||||
RUSTFLAGS: -Zsanitizer=address
|
||||
RUSTFLAGS: ${{ env.RUSTFLAGS }} -Zsanitizer=address --cfg=sanitizing
|
||||
run: |
|
||||
rustup install nightly
|
||||
rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu
|
||||
|
|
|
|||
|
|
@ -1,3 +1,6 @@
|
|||
// For some reasons `Command::spawn` doesn't work in CI env for many exotic arches.
|
||||
#![cfg(all(any(target_arch = "x86_64", target_arch = "x86"), not(sanitizing)))]
|
||||
|
||||
use crate::{
|
||||
generate::{generate_parser_for_grammar, load_grammar_file},
|
||||
tests::helpers::fixtures::{fixtures_dir, get_test_language},
|
||||
|
|
@ -8,6 +11,15 @@ use std::{
|
|||
};
|
||||
use tree_sitter::Parser;
|
||||
|
||||
// The `sanitizing` cfg is required to don't run tests under specific sunitizer
|
||||
// because they don't work well with subprocesses _(it's an assumption)_.
|
||||
//
|
||||
// Bellow are two alternative examples of how to disable tests for some arches
|
||||
// if a way with excluding the whole mod from compilation would work well.
|
||||
//
|
||||
// #[cfg(all(any(target_arch = "x86_64", target_arch = "x86"), not(sanitizing)))]
|
||||
// #[cfg_attr(not(all(any(target_arch = "x86_64", target_arch = "x86"), not(sanitizing))), ignore)]
|
||||
//
|
||||
#[test]
|
||||
fn test_grammar_that_should_hang_and_not_segfault() {
|
||||
let parent_sleep_millis = 1000;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue