20#ifndef BACKENDS_P4TOOLS_MODULES_TESTGEN_TARGETS_TOFINO_TEST_BACKEND_H_
21#define BACKENDS_P4TOOLS_MODULES_TESTGEN_TARGETS_TOFINO_TEST_BACKEND_H_
28#include <boost/filesystem.hpp>
30#include "backends/p4tools/common/lib/model.h"
31#include "backends/p4tools/common/lib/trace_event.h"
34#include "backends/p4tools/modules/testgen/core/program_info.h"
35#include "backends/p4tools/modules/testgen/core/symbolic_executor/symbolic_executor.h"
36#include "backends/p4tools/modules/testgen/lib/execution_state.h"
37#include "backends/p4tools/modules/testgen/lib/test_backend.h"
38#include "backends/p4tools/modules/testgen/targets/tofino/shared_program_info.h"
39#include "backends/p4tools/modules/testgen/targets/tofino/test_spec.h"
41namespace P4::P4Tools::P4Testgen::Tofino {
43class TofinoTestBackend :
public TestBackEnd {
45 static const std::vector<std::string> SUPPORTED_BACKENDS;
54 const IR::Expression *outputPacketExpr,
const IR::Expression *outputPortExpr,
55 const std::vector<std::reference_wrapper<const TraceEvent>> *programTraces)
override;
61 const IR::Expression *outputPortExpr)
override;