Skip to content
This repository has been archived by the owner on Dec 11, 2022. It is now read-only.

Commit

Permalink
add seperate test for build matrix extra parameters, issue #23
Browse files Browse the repository at this point in the history
  • Loading branch information
ruleant committed Oct 17, 2015
1 parent 56b9fd0 commit 1aab104
Showing 1 changed file with 55 additions and 5 deletions.
60 changes: 55 additions & 5 deletions buildtimetrend/test/travis_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -430,15 +430,14 @@ def test_load_build_matrix_env_vars(self):
if "TRAVIS" in os.environ and os.environ["TRAVIS"] == "true":
reset_travis_vars = False
expected_os = os.environ["TRAVIS_OS_NAME"]
expected_cc = os.environ["CC"]
expected_env = os.environ["ENV"]
else:
reset_travis_vars = True
os.environ["TRAVIS"] = "true"
expected_os = os.environ["TRAVIS_OS_NAME"] = "test_os"
expected_cc = os.environ["CC"] = "test_cc"
expected_env = os.environ["ENV"] = "test_env"

# test language and language versions
test_languages = [
{'env_var': 'TRAVIS_DART_VERSION', 'language': 'dart', 'test_value': "1.1"},
{'env_var': 'TRAVIS_GO_VERSION', 'language': 'go', 'test_value': "1.2"},
Expand Down Expand Up @@ -470,11 +469,10 @@ def test_load_build_matrix_env_vars(self):
self.assertDictEqual(
{
'os': expected_os,
'compiler': expected_cc,
'parameters': expected_env,
'language': language['language'],
'language_version': expected_lang_version,
'summary': "%s %s %s %s %s" % (expected_cc, language['language'], expected_lang_version, expected_os, expected_env)
'summary': "%s %s %s %s" % (language['language'], expected_lang_version, expected_os, expected_env)
},
settings.get_setting("build_matrix")
)
Expand All @@ -487,9 +485,61 @@ def test_load_build_matrix_env_vars(self):
if reset_travis_vars:
del os.environ["TRAVIS"]
del os.environ["TRAVIS_OS_NAME"]
del os.environ["CC"]
del os.environ["ENV"]

def test_load_build_matrix_env_vars_parameters(self):
# setup Travis env vars
if "TRAVIS" in os.environ and os.environ["TRAVIS"] == "true":
reset_travis_vars = False
copy_os = os.environ["TRAVIS_OS_NAME"]
copy_env = os.environ["ENV"]
else:
reset_travis_vars = True
os.environ["TRAVIS"] = "true"

# test optional build matrix parameters
test_parameters = [
{'env_var': 'TRAVIS_XCODE_SDK', 'parameter': 'xcode_sdk', 'test_value': "test_x_sdk"},
{'env_var': 'TRAVIS_XCODE_SCHEME', 'parameter': 'xcode_scheme', 'test_value': "test_x_scheme"},
{'env_var': 'TRAVIS_XCODE_PROJECT', 'parameter': 'xcode_project', 'test_value': "test_x_project"},
{'env_var': 'TRAVIS_XCODE_WORKSPACE', 'parameter': 'xcode_workspace', 'test_value': "test_x_workspace"},
{'env_var': 'CC', 'parameter': 'compiler', 'test_value': "test_gcc"}
]

# test parameters
for parameter in test_parameters:
Settings().__init__()
settings = Settings()

if parameter['env_var'] in os.environ:
reset_travis_parameter = False
expected_param_value = os.environ[parameter['env_var']]
else:
reset_travis_parameter = True
expected_param_value = os.environ[parameter['env_var']] = parameter['test_value']

load_build_matrix_env_vars(settings)

self.assertDictEqual(
{
parameter["parameter"]: expected_param_value,
'summary': expected_param_value
},
settings.get_setting("build_matrix")
)

# reset Travis parameters
if reset_travis_parameter:
del os.environ[parameter['env_var']]


# reset test Travis vars
if reset_travis_vars:
del os.environ["TRAVIS"]
else:
os.environ["TRAVIS_OS_NAME"] = copy_os
os.environ["ENV"] = copy_env

def test_convert_build_result(self):
self.assertEquals("passed", convert_build_result(0))
self.assertEquals("failed", convert_build_result(1))
Expand Down

0 comments on commit 1aab104

Please sign in to comment.