Running 255.vortex using benchmark binary

Change-Id: I4f7e0b819a7b71cf5853ee3bd8ff2f95aa9021a0
diff --git a/255.vortex/BUILD.gn b/255.vortex/BUILD.gn
index 91cc121..bbb21a2 100644
--- a/255.vortex/BUILD.gn
+++ b/255.vortex/BUILD.gn
@@ -3,9 +3,17 @@
 # found in the LICENSE file.
 
 inputs = [
+  "data/ref/input/bendian.rnv",
+  "data/ref/input/bendian.wnv",
+  "data/ref/input/bendian1.raw",
+  "data/ref/input/bendian2.raw",
+  "data/ref/input/bendian3.raw",
+  "data/ref/input/lendian.rnv",
+  "data/ref/input/lendian.wnv",
   "data/ref/input/lendian1.raw",
   "data/ref/input/lendian2.raw",
   "data/ref/input/lendian3.raw",
+  "data/ref/input/persons.1k",
 ]
 
 executable("255.vortex") {
diff --git a/benchmarks/main.cc b/benchmarks/main.cc
index 96b1c4a..a2fdbcc 100644
--- a/benchmarks/main.cc
+++ b/benchmarks/main.cc
@@ -38,6 +38,11 @@
   McfFixture() : SpecFixture("181.mcf"){};
 };
 
+class VortexFixture : public SpecFixture {
+ protected:
+  VortexFixture() : SpecFixture("255.vortex"){};
+};
+
 }  // namespace
 
 std::string executableDir;
@@ -114,6 +119,19 @@
   }
 }
 
+BENCHMARK_F(VortexFixture, 255_Votex)(benchmark::State& st) {
+  while (st.KeepRunning()) {
+    for (int i = 1; i <= 3; i++) {
+      std::string arg = "lendian" + std::to_string(i) + ".raw";
+      const char* args[] = {arg.c_str()};
+      if ((RunSpec(args, 1, NULL)) != 0) {
+        (std::string("Error while running benchmark: ") + strerror(errno))
+            .c_str();
+      }
+    }
+  }
+}
+
 int main(int argc, char* argv[]) {
   ::benchmark::Initialize(&argc, argv);
   google::InitGoogleLogging(argv[0]);