diff --git a/test/integration/real_grammars.cc b/test/integration/real_grammars.cc index 37465add..e842ee0c 100644 --- a/test/integration/real_grammars.cc +++ b/test/integration/real_grammars.cc @@ -20,6 +20,8 @@ static void assert_correct_tree_size(TSDocument *document, string content) { START_TEST +if (TREE_SITTER_SEED == -1) return; + vector test_languages({ "javascript", "json", diff --git a/test/integration/test_grammars.cc b/test/integration/test_grammars.cc index 9dbefcd8..f4ba6d92 100644 --- a/test/integration/test_grammars.cc +++ b/test/integration/test_grammars.cc @@ -9,6 +9,8 @@ START_TEST +if (TREE_SITTER_SEED == -1) return; + string grammars_dir_path = join_path({"test", "fixtures", "test_grammars"}); vector test_languages = list_directory(grammars_dir_path); diff --git a/test/test_helper.h b/test/test_helper.h index 6947452b..0cb2d41c 100644 --- a/test/test_helper.h +++ b/test/test_helper.h @@ -5,6 +5,8 @@ #include "tree_sitter/compiler.h" #include "tree_sitter/runtime.h" +extern int TREE_SITTER_SEED; + namespace tree_sitter {} using namespace std; diff --git a/test/tests.cc b/test/tests.cc index cb9d6595..303f9059 100644 --- a/test/tests.cc +++ b/test/tests.cc @@ -1,17 +1,18 @@ #include "test_helper.h" #include "helpers/random_helpers.h" +int TREE_SITTER_SEED = 0; + int main(int argc, char *argv[]) { - int seed; const char *seed_env = getenv("TREE_SITTER_SEED"); if (seed_env) { - seed = atoi(seed_env); + TREE_SITTER_SEED = atoi(seed_env); } else { - seed = get_time_as_seed(); + TREE_SITTER_SEED = get_time_as_seed(); } - printf("Random seed: %d\n", seed); - random_reseed(seed); + printf("Random seed: %d\n", TREE_SITTER_SEED); + random_reseed(TREE_SITTER_SEED); return bandit::run(argc, argv); }