Gabe Black has uploaded this change for review. ( https://gem5-review.googlesource.com/6084

Change subject: scons: Add in a new type of unit test called GTest.
......................................................................

scons: Add in a new type of unit test called GTest.

This type of unit test is almost the same as UnitTest, except that
it builds in the googletest library with the appropriate flags, and
it also omits all the gem5 object files by default.

Change-Id: I230db7ede563a73a9da0ebeed44aca389f724465
---
M src/SConscript
1 file changed, 15 insertions(+), 1 deletion(-)



diff --git a/src/SConscript b/src/SConscript
index 2930bab..2a495bf 100755
--- a/src/SConscript
+++ b/src/SConscript
@@ -269,7 +269,12 @@
         self.sources = srcs
         self.target = target
         self.main = kwargs.get('main', False)
-        UnitTest.all.append(self)
+        self.all.append(self)
+
+class GTest(UnitTest):
+    '''Create a unit test based on the google test framework.'''
+
+    all = []

 # Children should have access
 Export('Source')
@@ -277,6 +282,7 @@
 Export('SimObject')
 Export('ProtoBuf')
 Export('UnitTest')
+Export('GTest')

 ########################################################################
 #
@@ -1019,6 +1025,14 @@
         path = 'unittest/%s.%s' % (test.target, label)
         new_env.Program(path, test_objs + static_objs)

+    gtest_env = new_env.Clone()
+    gtest_env.Append(LIBS=gtest_env['GTEST_LIBS'])
+    gtest_env.Append(CPPFLAGS=gtest_env['GTEST_CPPFLAGS'])
+    for test in GTest.all:
+        test_sources = Source.all.with_tag(str(test.target))
+ test_objs = [ gtest_env.StaticObject(s.tnode) for s in test_sources ] + gtest_env.Program('unittest/%s.%s' % (test.target, label), test_objs)
+
     progname = exename
     if strip:
         progname += '.unstripped'

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

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I230db7ede563a73a9da0ebeed44aca389f724465
Gerrit-Change-Number: 6084
Gerrit-PatchSet: 1
Gerrit-Owner: Gabe Black <[email protected]>
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to