Giacomo Travaglini has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/14615

Change subject: tests: Convert IniFile unit test to a GTest
......................................................................

tests: Convert IniFile unit test to a GTest

Change-Id: I47d6c9cbae21877420a15ffcf8489e3c26959139
Signed-off-by: Giacomo Travaglini <giacomo.travagl...@arm.com>
---
M src/base/SConscript
R src/base/initest.cc
M src/unittest/SConscript
3 files changed, 37 insertions(+), 19 deletions(-)



diff --git a/src/base/SConscript b/src/base/SConscript
index d84eba1..85413df 100644
--- a/src/base/SConscript
+++ b/src/base/SConscript
@@ -53,6 +53,7 @@
 Source('hostinfo.cc')
 Source('inet.cc')
 Source('inifile.cc')
+GTest('initest', 'initest.cc', 'inifile.cc', 'str.cc')
 Source('intmath.cc')
 Source('logging.cc')
 Source('match.cc')
diff --git a/src/unittest/initest.cc b/src/base/initest.cc
similarity index 67%
rename from src/unittest/initest.cc
rename to src/base/initest.cc
index 222fcab..d331905 100644
--- a/src/unittest/initest.cc
+++ b/src/base/initest.cc
@@ -1,4 +1,7 @@
 /*
+ * Copyright (c) 2018 ARM Limited
+ * All rights reserved
+ *
  * Copyright (c) 2002-2005 The Regents of The University of Michigan
  * All rights reserved.
  *
@@ -34,7 +37,8 @@
 #include <string>
 #include <vector>

-#include "base/cprintf.hh"
+#include <gtest/gtest.h>
+
 #include "base/inifile.hh"

 using namespace std;
@@ -63,30 +67,44 @@

 };

-int
-main(int argc, char *argv[])
+TEST(Initest, MatchFound)
 {
     IniFile simConfigDB;
     simConfigDB.load(iniFile);

-    string value;
+    std::string value;

-#define FIND(C, E) \
-  if (simConfigDB.find(C, E, value)) \
-    cout << ">" << value << "<\n"; \
-  else \
-    cout << "Not Found!\n"
+    auto ret = simConfigDB.find("General", "Test2", value);
+    ASSERT_TRUE(ret);
+    ASSERT_STREQ(value.c_str(), "bar");

-    FIND("General", "Test2");
-    FIND("Junk", "Test3");
-    FIND("Junk", "Test4");
-    FIND("General", "Test1");
-    FIND("Junk2", "test3");
-    FIND("General", "Test3");
+    ret = simConfigDB.find("Junk", "Test3", value);
+    ASSERT_TRUE(ret);
+    ASSERT_STREQ(value.c_str(), "yo");

-    cout << "\n";
+    ret = simConfigDB.find("Junk", "Test4", value);
+    ASSERT_TRUE(ret);
+    ASSERT_STREQ(value.c_str(), "mama mia");

-    simConfigDB.dump();
+    ret = simConfigDB.find("General", "Test1", value);
+    ASSERT_TRUE(ret);
+    ASSERT_STREQ(value.c_str(), "BARasdf");

-    return 0;
+    ret = simConfigDB.find("General", "Test3", value);
+    ASSERT_TRUE(ret);
+    ASSERT_STREQ(value.c_str(), "89");
+}
+
+TEST(Initest, MatchNotFound)
+{
+    IniFile simConfigDB;
+    simConfigDB.load(iniFile);
+
+    std::string value;
+
+    auto ret = simConfigDB.find("Junk2", "test3", value);
+    ASSERT_FALSE(ret);
+
+    ret = simConfigDB.find("Junk", "test4", value);
+    ASSERT_FALSE(ret);
 }
diff --git a/src/unittest/SConscript b/src/unittest/SConscript
index 3f65734..f437a1d 100644
--- a/src/unittest/SConscript
+++ b/src/unittest/SConscript
@@ -33,7 +33,6 @@
 Source('unittest.cc')

 UnitTest('cprintftime', 'cprintftime.cc')
-UnitTest('initest', 'initest.cc')
 UnitTest('nmtest', 'nmtest.cc')
 UnitTest('refcnttest', 'refcnttest.cc')
 UnitTest('strnumtest', 'strnumtest.cc')

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/14615
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: I47d6c9cbae21877420a15ffcf8489e3c26959139
Gerrit-Change-Number: 14615
Gerrit-PatchSet: 1
Gerrit-Owner: Giacomo Travaglini <giacomo.travagl...@arm.com>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to