Add support for running 181.mcf benchmark
Also adding a blank mcf.out as benchmark expects it to exists
Change-Id: I97e4a5fd97c7224a615f78214dd808fbc0ab6b71
diff --git a/181.mcf/BUILD.gn b/181.mcf/BUILD.gn
index 9f04590..10de6eb 100644
--- a/181.mcf/BUILD.gn
+++ b/181.mcf/BUILD.gn
@@ -4,6 +4,7 @@
inputs = [
"data/ref/input/inp.in",
+ "data/ref/input/mcf.out",
]
executable("181.mcf") {
diff --git a/benchmarks/main.cc b/benchmarks/main.cc
index fbac063..96b1c4a 100644
--- a/benchmarks/main.cc
+++ b/benchmarks/main.cc
@@ -33,6 +33,11 @@
EquakeFixture() : SpecFixture("183.equake"){};
};
+class McfFixture : public SpecFixture {
+ protected:
+ McfFixture() : SpecFixture("181.mcf"){};
+};
+
} // namespace
std::string executableDir;
@@ -98,6 +103,17 @@
}
}
+BENCHMARK_F(McfFixture, 181_Mcf)(benchmark::State& st) {
+ while (st.KeepRunning()) {
+ const char* args[] = {"inp.in"};
+ if (RunSpec(args, 1, NULL) != 0) {
+ st.SkipWithError(
+ (std::string("Error while running benchmark: ") + strerror(errno))
+ .c_str());
+ }
+ }
+}
+
int main(int argc, char* argv[]) {
::benchmark::Initialize(&argc, argv);
google::InitGoogleLogging(argv[0]);
diff --git a/patch.sh b/patch.sh
index 488a775..1e3bc0f 100755
--- a/patch.sh
+++ b/patch.sh
@@ -72,4 +72,5 @@
copynpatch "$1/benchspec/CINT2000" ${CINT_BLIST[*]}
copynpatch "$1/benchspec/CFP2000" ${CFP_BLIST[*]}
-mv ${SCRIPT_DIR}/177.mesa/data/ref/input/mesa.in ${SCRIPT_DIR}/177.mesa/data/ref/input/mesa.mesh
+mv "${SCRIPT_DIR}/177.mesa/data/ref/input/mesa.in" "${SCRIPT_DIR}/177.mesa/data/ref/input/mesa.mesh"
+touch "${SCRIPT_DIR}/181.mcf/data/ref/input/mcf.out"