7#ifndef BACKENDS_P4TOOLS_MODULES_TESTGEN_TARGETS_BMV2_TEST_BACKEND_METADATA_H_
8#define BACKENDS_P4TOOLS_MODULES_TESTGEN_TARGETS_BMV2_TEST_BACKEND_METADATA_H_
16#include <inja/inja.hpp>
18#include "lib/cstring.h"
20#include "backends/p4tools/modules/testgen/lib/test_spec.h"
21#include "backends/p4tools/modules/testgen/targets/bmv2/test_backend/common.h"
26class Metadata :
public Bmv2TestFramework {
32 float currentCoverage)
override;
36 std::ofstream metadataFile;
40 void emitPreamble(
const std::string &preamble);
47 void emitTestcase(
const TestSpec *testSpec,
cstring selectedBranches,
size_t testId,
48 const std::string &testCase,
float currentCoverage);
53 static void computeTraceData(
const TestSpec *testSpec, inja::json &dataJson);
56 static std::string getTestCaseTemplate();