diff options
author | Remko Tronçon <git@el-tramo.be> | 2011-01-23 14:07:37 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2011-01-24 19:27:20 (GMT) |
commit | 0a0a3046ad01ee4f3aa436485ae48cbff9d74272 (patch) | |
tree | e4b25e69815dfdb1a5139ab20be57a05879ffa76 /BuildTools | |
parent | fe89312ed0e8b6554f37c0bc2ac45095fcc74683 (diff) | |
download | swift-0a0a3046ad01ee4f3aa436485ae48cbff9d74272.zip swift-0a0a3046ad01ee4f3aa436485ae48cbff9d74272.tar.bz2 |
Added test suite registration checker.
Diffstat (limited to 'BuildTools')
-rwxr-xr-x | BuildTools/CheckTests.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/BuildTools/CheckTests.py b/BuildTools/CheckTests.py new file mode 100755 index 0000000..0ea56bd --- /dev/null +++ b/BuildTools/CheckTests.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python + +import os, sys, re + +foundUnregisteredTests = False + +for (path, dirs, files) in os.walk(".") : + if not "3rdParty" in path : + for filename in [os.path.join(path, file) for file in files if file.endswith("Test.cpp") and file != "IdleQuerierTest.cpp" and file != "NotifierTest.cpp" and file != "ClientTest.cpp" and file != "ConnectivityTest.cpp" and file != "ReconnectTest.cpp"] : + file = open(filename, "r") + isRegistered = False + registeredTests = set() + declaredTests = set() + for line in file.readlines() : + m = re.match("\s*CPPUNIT_TEST_SUITE_REGISTRATION\((.*)\)", line) + if m : + isRegistered = True + m = re.match("\s*CPPUNIT_TEST\((.*)\)", line) + if m : + registeredTests.add(m.group(1)) + continue + m = re.match("\s*void (test.*)\(\)", line) + if m : + declaredTests.add(m.group(1)) + if not isRegistered : + print filename + ": Registration missing" + foundUnregisteredTests = True + if registeredTests - declaredTests != set([]) : + print filename + ": " + str(registeredTests - declaredTests) + foundUnregisteredTests = True + file.close() + +sys.exit(foundUnregisteredTests) |