summaryrefslogtreecommitdiff
path: root/ambari-agent
diff options
context:
space:
mode:
authorMahadev Konar <mahadev@apache.org>2012-10-16 02:13:18 +0000
committerMahadev Konar <mahadev@apache.org>2012-10-16 02:13:18 +0000
commit0f888a1e080d1acbc75edb123995c4af63f2f4f4 (patch)
tree44afd09c43e895a43ca79a515a0189c8bb033d19 /ambari-agent
parenta3d2cc3f8f5b3cc1e077cdaf38bed922cbb940db (diff)
AMBARI-863. Fix mvn tests to be able to run the python tests cleanly. (mahadev)
git-svn-id: https://svn.apache.org/repos/asf/incubator/ambari/branches/AMBARI-666@1398613 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'ambari-agent')
-rw-r--r--ambari-agent/src/test/python/unitTests.py33
1 files changed, 30 insertions, 3 deletions
diff --git a/ambari-agent/src/test/python/unitTests.py b/ambari-agent/src/test/python/unitTests.py
index 689b6d0cad..1400d08fa8 100644
--- a/ambari-agent/src/test/python/unitTests.py
+++ b/ambari-agent/src/test/python/unitTests.py
@@ -21,7 +21,10 @@ limitations under the License.
import unittest
import doctest
from os.path import dirname, split, isdir
+import logging.handlers
+import logging
+LOG_FILE_NAME='tests.log'
class TestAgent(unittest.TestSuite):
@@ -44,14 +47,32 @@ def all_tests_suite():
return TestAgent([suite])
def main():
+
+ logger.info('------------------------------------------------------------------------')
+ logger.info('PYTHON AGENT TESTS')
+ logger.info('------------------------------------------------------------------------')
parent_dir = lambda x: split(x)[0] if isdir(x) else split(dirname(x))[0]
src_dir = os.getcwd()
- agent_dir = parent_dir(parent_dir(parent_dir(src_dir)))
- path = agent_dir + os.sep + "target/tests.log"
+ target_dir = parent_dir(parent_dir(parent_dir(src_dir))) + os.sep + 'target'
+ if not os.path.exists(target_dir):
+ os.mkdir(target_dir)
+ path = target_dir + os.sep + LOG_FILE_NAME
file=open(path, "w")
runner = unittest.TextTestRunner(stream=file)
suite = all_tests_suite()
- raise SystemExit(not runner.run(suite).wasSuccessful())
+
+ status = runner.run(suite).wasSuccessful()
+
+ if not status:
+ logger.error('-----------------------------------------------------------------------')
+ logger.error('Python unit tests failed')
+ logger.error('Find detailed logs in ' + path)
+ logger.error('-----------------------------------------------------------------------')
+ exit(1)
+ else:
+ logger.info('------------------------------------------------------------------------')
+ logger.info('Python unit tests finished succesfully')
+ logger.info('------------------------------------------------------------------------')
if __name__ == '__main__':
import os
@@ -60,4 +81,10 @@ if __name__ == '__main__':
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + os.sep + 'main' + os.sep + 'python')
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + os.sep + 'main' + os.sep + 'python' + os.sep + 'ambari_agent')
+ logger = logging.getLogger()
+ logger.setLevel(logging.INFO)
+ formatter = logging.Formatter("[%(levelname)s] %(message)s")
+ consoleLog = logging.StreamHandler(sys.stdout)
+ consoleLog.setFormatter(formatter)
+ logger.addHandler(consoleLog)
main()