7#ifndef BACKENDS_P4TOOLS_MODULES_TESTGEN_TARGETS_BMV2_TEST_BACKEND_STF_H_
8#define BACKENDS_P4TOOLS_MODULES_TESTGEN_TARGETS_BMV2_TEST_BACKEND_STF_H_
14#include <inja/inja.hpp>
16#include "lib/cstring.h"
18#include "backends/p4tools/modules/testgen/lib/test_spec.h"
19#include "backends/p4tools/modules/testgen/targets/bmv2/test_backend/common.h"
24class STF :
public Bmv2TestFramework {
30 float currentCoverage)
override;
38 void emitTestcase(
const TestSpec *testSpec,
cstring selectedBranches,
size_t testId,
39 const std::string &testCase,
float currentCoverage);
42 static std::string getTestCaseTemplate();
44 inja::json getExpectedPacket(
const TestSpec *testSpec)
const override;
47 inja::json getSend(
const TestSpec *testSpec)
const override;
49 inja::json getControlPlaneForTable(
const TableMatchMap &matches,
50 const std::vector<ActionArg> &args)
const override;