1#ifndef BACKENDS_P4TOOLS_MODULES_TESTGEN_LIB_TEST_BACKEND_H_ 
    2#define BACKENDS_P4TOOLS_MODULES_TESTGEN_LIB_TEST_BACKEND_H_ 
    9#include "backends/p4tools/common/lib/model.h" 
   10#include "backends/p4tools/common/lib/trace_event.h" 
   13#include "backends/p4tools/modules/testgen/core/program_info.h" 
   14#include "backends/p4tools/modules/testgen/core/symbolic_executor/symbolic_executor.h" 
   15#include "backends/p4tools/modules/testgen/lib/execution_state.h" 
   16#include "backends/p4tools/modules/testgen/lib/final_state.h" 
   17#include "backends/p4tools/modules/testgen/lib/test_framework.h" 
   18#include "backends/p4tools/modules/testgen/lib/test_spec.h" 
   19#include "backends/p4tools/modules/testgen/options.h" 
   21namespace P4Tools::P4Testgen {
 
   26    int64_t testCount = 0;
 
   29    static const int64_t RESET_THRESHOLD = 10000;
 
   32    std::reference_wrapper<const ProgramInfo> programInfo;
 
   35    std::reference_wrapper<const TestBackendConfiguration> testBackendConfiguration;
 
   58    [[nodiscard]] 
bool needsToTerminate(int64_t testCount) 
const;
 
   89        const std::vector<std::reference_wrapper<const TraceEvent>> 
programTraces;
 
 
  103                               const IR::Expression *outputPortExpr);
 
  113        const IR::Expression *outputPacketExpr, 
const IR::Expression *outputPortExpr,
 
  114        const std::vector<std::reference_wrapper<const TraceEvent>> *programTraces);