7#ifndef BACKENDS_P4TOOLS_MODULES_TESTGEN_TARGETS_EBPF_TEST_BACKEND_H_
8#define BACKENDS_P4TOOLS_MODULES_TESTGEN_TARGETS_EBPF_TEST_BACKEND_H_
17#include "backends/p4tools/common/lib/model.h"
18#include "backends/p4tools/common/lib/trace_event.h"
20#include "lib/big_int_util.h"
22#include "backends/p4tools/modules/testgen/core/program_info.h"
23#include "backends/p4tools/modules/testgen/core/symbolic_executor/symbolic_executor.h"
24#include "backends/p4tools/modules/testgen/lib/execution_state.h"
25#include "backends/p4tools/modules/testgen/lib/test_backend.h"
26#include "backends/p4tools/modules/testgen/lib/test_spec.h"
28namespace P4::P4Tools::P4Testgen::EBPF {
30class EBPFTestBackend :
public TestBackEnd {
36 static const int ZERO_PKT_WIDTH = 32;
37 static const big_int ZERO_PKT_VAL;
38 static const big_int ZERO_PKT_MAX;
40 static const std::vector<std::string> SUPPORTED_BACKENDS;
43 explicit EBPFTestBackend(
const ProgramInfo &programInfo,
49 const IR::Expression *outputPacketExpr,
const IR::Expression *outputPortExpr,
50 const std::vector<std::reference_wrapper<const TraceEvent>> *programTraces)
override;