summaryrefslogtreecommitdiffstats
path: root/yocto-poky/bitbake/lib/toaster/contrib/tts/toasteruitest/run_toastertests.py
diff options
context:
space:
mode:
Diffstat (limited to 'yocto-poky/bitbake/lib/toaster/contrib/tts/toasteruitest/run_toastertests.py')
-rwxr-xr-xyocto-poky/bitbake/lib/toaster/contrib/tts/toasteruitest/run_toastertests.py155
1 files changed, 0 insertions, 155 deletions
diff --git a/yocto-poky/bitbake/lib/toaster/contrib/tts/toasteruitest/run_toastertests.py b/yocto-poky/bitbake/lib/toaster/contrib/tts/toasteruitest/run_toastertests.py
deleted file mode 100755
index 754636f0f..000000000
--- a/yocto-poky/bitbake/lib/toaster/contrib/tts/toasteruitest/run_toastertests.py
+++ /dev/null
@@ -1,155 +0,0 @@
-#!/usr/bin/python
-
-# Copyright
-
-# DESCRIPTION
-# This is script for running all selected toaster cases on
-# selected web browsers manifested in toaster_test.cfg.
-
-# 1. How to start toaster in yocto:
-# $ source poky/oe-init-build-env
-# $ source toaster start
-# $ bitbake core-image-minimal
-
-# 2. How to install selenium on Ubuntu:
-# $ sudo apt-get install scrot python-pip
-# $ sudo pip install selenium
-
-# 3. How to install selenium addon in firefox:
-# Download the lastest firefox addon from http://release.seleniumhq.org/selenium-ide/
-# Then install it. You can also install firebug and firepath addon
-
-# 4. How to start writing a new case:
-# All you need to do is to implement the function test_xxx() and pile it on.
-
-# 5. How to test with Chrome browser
-# Download/install chrome on host
-# Download chromedriver from https://code.google.com/p/chromedriver/downloads/list according to your host type
-# put chromedriver in PATH, (e.g. /usr/bin/, bear in mind to chmod)
-# For windows host, you may put chromedriver.exe in the same directory as chrome.exe
-
-import unittest, sys, os, platform
-import ConfigParser
-import argparse
-from toaster_automation_test import toaster_cases
-
-
-def get_args_parser():
- description = "Script that runs toaster auto tests."
- parser = argparse.ArgumentParser(description=description)
- parser.add_argument('--run-all-tests', required=False, action="store_true", dest="run_all_tests", default=False,
- help='Run all tests.')
- parser.add_argument('--run-suite', required=False, dest='run_suite', default=False,
- help='run suite (defined in cfg file)')
-
- return parser
-
-
-def get_tests():
- testslist = []
-
- prefix = 'toaster_automation_test.toaster_cases'
-
- for t in dir(toaster_cases):
- if t.startswith('test_'):
- testslist.append('.'.join((prefix, t)))
-
- return testslist
-
-
-def get_tests_from_cfg(suite=None):
-
- testslist = []
- config = ConfigParser.SafeConfigParser()
- config.read('toaster_test.cfg')
-
- if suite is not None:
- target_suite = suite.lower()
-
- # TODO: if suite is valid suite
-
- else:
- target_suite = platform.system().lower()
-
- try:
- tests_from_cfg = eval(config.get('toaster_test_' + target_suite, 'test_cases'))
- except:
- print 'Failed to get test cases from cfg file. Make sure the format is correct.'
- return None
-
- prefix = 'toaster_automation_test.toaster_cases.test_'
- for t in tests_from_cfg:
- testslist.append(prefix + str(t))
-
- return testslist
-
-def main():
-
- # In case this script is called from other directory
- os.chdir(os.path.abspath(sys.path[0]))
-
- parser = get_args_parser()
- args = parser.parse_args()
-
- if args.run_all_tests:
- testslist = get_tests()
- elif args.run_suite:
- testslist = get_tests_from_cfg(args.run_suite)
- os.environ['TOASTER_SUITE'] = args.run_suite
- else:
- testslist = get_tests_from_cfg()
-
- if not testslist:
- print 'Failed to get test cases.'
- exit(1)
-
- suite = unittest.TestSuite()
- loader = unittest.TestLoader()
- loader.sortTestMethodsUsing = None
- runner = unittest.TextTestRunner(verbosity=2, resultclass=buildResultClass(args))
-
- for test in testslist:
- try:
- suite.addTests(loader.loadTestsFromName(test))
- except:
- return 1
-
- result = runner.run(suite)
-
- if result.wasSuccessful():
- return 0
- else:
- return 1
-
-
-def buildResultClass(args):
- """Build a Result Class to use in the testcase execution"""
-
- class StampedResult(unittest.TextTestResult):
- """
- Custom TestResult that prints the time when a test starts. As toaster-auto
- can take a long time (ie a few hours) to run, timestamps help us understand
- what tests are taking a long time to execute.
- """
- def startTest(self, test):
- import time
- self.stream.write(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + " - ")
- super(StampedResult, self).startTest(test)
-
- return StampedResult
-
-
-if __name__ == "__main__":
-
- try:
- ret = main()
- except:
- ret = 1
- import traceback
- traceback.print_exc()
- finally:
- if os.getenv('TOASTER_SUITE'):
- del os.environ['TOASTER_SUITE']
- sys.exit(ret)
-
-
OpenPOWER on IntegriCloud