From e5c38fb907d6c48dc8bffbfd2acde99330f451a4 Mon Sep 17 00:00:00 2001
From: Jan Rinze Peterzon <peterzon@astron.nl>
Date: Mon, 26 Oct 2015 08:27:21 +0000
Subject: [PATCH] Task #8571: Added coverage testing for component t_messages.

---
 .gitattributes                                |  1 +
 .../python/messaging/test/t_messages.run      | 29 +++++++++++++++++++
 2 files changed, 30 insertions(+)
 create mode 100755 LCS/Messaging/python/messaging/test/t_messages.run

diff --git a/.gitattributes b/.gitattributes
index 204996f1c72..8cc63d9d526 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -2614,6 +2614,7 @@ LCS/Messaging/python/messaging/test/t_messagebus.py -text
 LCS/Messaging/python/messaging/test/t_messagebus.run -text
 LCS/Messaging/python/messaging/test/t_messagebus.sh -text
 LCS/Messaging/python/messaging/test/t_messages.py -text
+LCS/Messaging/python/messaging/test/t_messages.run -text
 LCS/Messaging/python/messaging/test/t_messages.sh -text
 LCS/Messaging/src/CMakeLists.txt -text
 LCS/Messaging/src/DefaultSettings.cc -text
diff --git a/LCS/Messaging/python/messaging/test/t_messages.run b/LCS/Messaging/python/messaging/test/t_messages.run
new file mode 100755
index 00000000000..b38b2b90bbc
--- /dev/null
+++ b/LCS/Messaging/python/messaging/test/t_messages.run
@@ -0,0 +1,29 @@
+#!/bin/sh -e
+
+# Run the unit test
+# either with or without code coverage measurements,
+# depending wheter coverage has been installed
+
+if type "coverage" > /dev/null; then
+    #run test using python coverage tool
+
+    #erase previous results
+    coverage erase
+
+    #setup coverage config file
+    printf "[report]\nexclude_lines = \n  if __name__ == .__main__.\n  def main\n" > .coveragerc
+
+    coverage run --branch --include=*Messaging/python* t_messages.py
+    RESULT=$?
+    if [ $RESULT -eq 0 ]; then
+        echo " *** Code coverage results *** "
+        coverage report -m
+        echo " *** End coverage results *** "
+    fi
+    exit $RESULT
+else
+    #coverage not available
+    echo "Please run: 'pip install coverage' to enable code coverage reporting of the unit tests"
+    #run plain test script
+    python t_messages.py
+fi
-- 
GitLab