blob: e2fade2496e505debef56697c7334f391805a393 [file] [log] [blame]
#!/usr/bin/env python3
# pylint: disable=C0301,C0103,C0111
from __future__ import print_function
import os
import sys
# Look for requirements.txt
name = "requirements.txt"
requirements = name
path = os.path.dirname(os.path.realpath(__file__))
requirements = os.path.join(path, requirements)
try:
import nunit_tests_provider
import robot_tests_provider
import tests_engine
from robot import __version__ as robot_version
# Check if current robot version matches the one from requirements file
def check_robot_version():
required_version = ""
with open(requirements, 'r') as req_file:
for line in req_file.readlines():
if line.find("robotframework==") != -1:
split_line = line.split("==")
if len(split_line) > 1:
required_version = split_line[1].strip()
break
if robot_version != required_version:
print(f"Required `robotframework` version is `{required_version}`, while the one available in your system is `{robot_version}`. " + \
"Tests may still work, but this version of Robot is not officially supported. " + \
f"Please install the required version using `pip install robotframework=={required_version}` before running the tests")
if __name__ == '__main__':
check_robot_version()
tests_engine.register_handler('nunit', 'csproj', nunit_tests_provider.NUnitTestSuite, nunit_tests_provider.install_cli_arguments)
tests_engine.register_handler('robot', 'robot', robot_tests_provider.RobotTestSuite, robot_tests_provider.install_cli_arguments, robot_tests_provider.verify_cli_arguments)
tests_engine.run()
except ImportError as e:
print("{}\nPlease install required dependencies with `pip install -r {}`".format(str(e), os.path.abspath(requirements)), file=sys.stderr)
sys.exit(1)