From e80c3b5c0b7140b6df8c6991ce068d6e7a1d5b31 Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Thu, 15 May 2025 13:24:32 +0100 Subject: [PATCH] C++: Exclude tests (by matching paths) in model generation. --- cpp/ql/src/utils/modelgenerator/internal/CaptureModels.qll | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/cpp/ql/src/utils/modelgenerator/internal/CaptureModels.qll b/cpp/ql/src/utils/modelgenerator/internal/CaptureModels.qll index b86b2400fccc..c30e2cc8f57a 100644 --- a/cpp/ql/src/utils/modelgenerator/internal/CaptureModels.qll +++ b/cpp/ql/src/utils/modelgenerator/internal/CaptureModels.qll @@ -45,6 +45,13 @@ private predicate isUninterestingForModels(Callable api) { api = any(Cpp::LambdaExpression lambda).getLambdaFunction() or api.isFromUninstantiatedTemplate(_) + or + // Exclude functions in test directories (but not the ones in the CodeQL test directory) + exists(Cpp::File f | + f = api.getFile() and + f.getAbsolutePath().matches("%test%") and + not f.getAbsolutePath().matches("%test/library-tests/dataflow/modelgenerator/dataflow/%") + ) } private predicate relevant(Callable api) {