diff --git a/src/language/utils/ASTExecutionInfo.hpp b/src/language/utils/ASTExecutionInfo.hpp
index 96fc874ce2c7f464e5bf88ff9013a092ff56b29b..da4b817428c2ea00e8c089e14de2049c4faae4af 100644
--- a/src/language/utils/ASTExecutionInfo.hpp
+++ b/src/language/utils/ASTExecutionInfo.hpp
@@ -16,6 +16,8 @@ class ASTExecutionInfo
 
   // The only place where the ASTExecutionInfo can be built
   friend void parser(const std::string& filename);
+  // also allowed for testing
+  friend void test_ASTExecutionInfo(const ASTNode&, const ModuleRepository&);
 
   ASTExecutionInfo(const ASTNode& root_node, const ModuleRepository& module_repository);
 
diff --git a/tests/test_ASTModulesImporter.cpp b/tests/test_ASTModulesImporter.cpp
index 42638d918a362516b53a0f05772096b477f943b4..a3a4e3d7a6bd6bfc7d624b9d1ee4a9d69e34b876 100644
--- a/tests/test_ASTModulesImporter.cpp
+++ b/tests/test_ASTModulesImporter.cpp
@@ -4,11 +4,22 @@
 #include <language/ast/ASTModulesImporter.hpp>
 #include <language/ast/ASTNodeExpressionBuilder.hpp>
 #include <language/ast/ASTNodeTypeCleaner.hpp>
+#include <language/utils/ASTExecutionInfo.hpp>
 #include <language/utils/ASTPrinter.hpp>
 #include <language/utils/SymbolTable.hpp>
 
 #include <pegtl/string_input.hpp>
 
+inline void
+test_ASTExecutionInfo(const ASTNode& root_node, const ModuleRepository& module_repository)
+{
+  ASTExecutionInfo execution_info{root_node, module_repository};
+  REQUIRE(&root_node == &execution_info.rootNode());
+  REQUIRE(&module_repository == &execution_info.moduleRepository());
+
+  REQUIRE(&ASTExecutionInfo::current() == &execution_info);
+}
+
 #define CHECK_AST(data, expected_output)                                                            \
   {                                                                                                 \
     static_assert(std::is_same_v<std::decay_t<decltype(data)>, std::string_view>);                  \
@@ -17,10 +28,13 @@
     string_input input{data, "test.pgs"};                                                           \
     auto ast = ASTBuilder::build(input);                                                            \
                                                                                                     \
-    ASTModulesImporter{*ast};                                                                       \
+    ASTModulesImporter importer{*ast};                                                              \
     ASTNodeTypeCleaner<language::import_instruction>{*ast};                                         \
                                                                                                     \
     ASTNodeExpressionBuilder{*ast};                                                                 \
+    const auto& module_repository = importer.moduleRepository();                                    \
+    test_ASTExecutionInfo(*ast, module_repository);                                                 \
+                                                                                                    \
     ExecutionPolicy exec_policy;                                                                    \
     ast->execute(exec_policy);                                                                      \
                                                                                                     \