1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
import sys
import os
import base64
import tempfile
sys.path.append(os.path.dirname(__file__) + "/../node")
import prepare_build_config
def test_validate_config():
os.environ["JOB_NAME"] = "user_job"
config = {}
prepare_build_config.validate_config(config, "")
os.environ["JOB_NAME"] = "linaro-android-private_job"
config = {}
try:
prepare_build_config.validate_config(config, "")
assert False, "Mismatch wasn't caught"
except prepare_build_config.BuildConfigMismatchException:
pass
os.environ["JOB_NAME"] = "linaro-android-private_job"
config = {"BUILD_TYPE": "build-android-restricted"}
try:
prepare_build_config.validate_config(config, "")
assert False, "Mismatch wasn't caught"
except prepare_build_config.BuildConfigMismatchException:
pass
os.environ["JOB_NAME"] = "linaro-android-private_job"
config = {"BUILD_TYPE": "build-android-restricted"}
prepare_build_config.validate_config(config, prepare_build_config.SLAVE_TYPE_RESTRICTED)
os.environ["JOB_NAME"] = "linaro-android-private_job"
config = {}
try:
prepare_build_config.validate_config(config, prepare_build_config.SLAVE_TYPE_RESTRICTED)
assert False, "Mismatch wasn't caught"
except prepare_build_config.BuildConfigMismatchException:
pass
del os.environ["JOB_NAME"]
def test_convert_config_to_shell():
config_base64 = """\
TUFOSUZFU1RfUkVQTz1naXQ6Ly9hbmRyb2lkLmdpdC5saW5hcm8ub3JnL3BsYXRmb3JtL21hbmlm
ZXN0LmdpdApNQU5JRkVTVF9CUkFOQ0g9bGluYXJvX2FuZHJvaWRfMi4zLjUKTUFOSUZFU1RfRklM
RU5BTUU9c3RhZ2luZy1vbWFwNDQ2MC54bWwKVEFSR0VUX1BST0RVQ1Q9cGFuZGFib2FyZApUQVJH
RVRfU0lNVUxBVE9SPWZhbHNlClRPT0xDSEFJTl9VUkw9aHR0cHM6Ly9hbmRyb2lkLWJ1aWxkLmxp
bmFyby5vcmcvamVua2lucy9qb2IvbGluYXJvLWFuZHJvaWRfdG9vbGNoYWluLTQuNi1ienIvbGFz
dFN1Y2Nlc3NmdWxCdWlsZC9hcnRpZmFjdC9idWlsZC9vdXQvYW5kcm9pZC10b29sY2hhaW4tZWFi
aS00LjYtZGFpbHktbGludXgteDg2LnRhci5iejIKTEFWQV9TVUJNSVQ9MQ==
"""
config_dict = {
'TARGET_SIMULATOR': 'false',
'TARGET_PRODUCT': 'pandaboard',
'TOOLCHAIN_URL': 'https://android-build.linaro.org/jenkins/job/linaro-android_toolchain-4.6-bzr/lastSuccessfulBuild/artifact/build/out/android-toolchain-eabi-4.6-daily-linux-x86.tar.bz2',
'MANIFEST_BRANCH': 'linaro_android_2.3.5',
'MANIFEST_FILENAME': 'staging-omap4460.xml', 'LAVA_SUBMIT': '1',
'MANIFEST_REPO': 'git://android.git.linaro.org/platform/manifest.git'
}
config_text = base64.b64decode(config_base64)
out_fd, out_filename = tempfile.mkstemp()
os.close(out_fd)
dict = prepare_build_config.convert_config_to_shell(config_text, out_filename)
assert dict == config_dict
def test_main():
config_base64 = """\
TUFOSUZFU1RfUkVQTz1naXQ6Ly9hbmRyb2lkLmdpdC5saW5hcm8ub3JnL3BsYXRmb3JtL21hbmlm
ZXN0LmdpdApNQU5JRkVTVF9CUkFOQ0g9bGluYXJvX2FuZHJvaWRfMi4zLjUKTUFOSUZFU1RfRklM
RU5BTUU9c3RhZ2luZy1vbWFwNDQ2MC54bWwKVEFSR0VUX1BST0RVQ1Q9cGFuZGFib2FyZApUQVJH
RVRfU0lNVUxBVE9SPWZhbHNlClRPT0xDSEFJTl9VUkw9aHR0cHM6Ly9hbmRyb2lkLWJ1aWxkLmxp
bmFyby5vcmcvamVua2lucy9qb2IvbGluYXJvLWFuZHJvaWRfdG9vbGNoYWluLTQuNi1ienIvbGFz
dFN1Y2Nlc3NmdWxCdWlsZC9hcnRpZmFjdC9idWlsZC9vdXQvYW5kcm9pZC10b29sY2hhaW4tZWFi
aS00LjYtZGFpbHktbGludXgteDg2LnRhci5iejIKTEFWQV9TVUJNSVQ9MQ==
"""
config_dict = {
'TARGET_SIMULATOR': 'false',
'TARGET_PRODUCT': 'pandaboard',
'TOOLCHAIN_URL': 'https://android-build.linaro.org/jenkins/job/linaro-android_toolchain-4.6-bzr/lastSuccessfulBuild/artifact/build/out/android-toolchain-eabi-4.6-daily-linux-x86.tar.bz2',
'MANIFEST_BRANCH': 'linaro_android_2.3.5',
'MANIFEST_FILENAME': 'staging-omap4460.xml', 'LAVA_SUBMIT': '1',
'MANIFEST_REPO': 'git://android.git.linaro.org/platform/manifest.git'
}
out_fd, out_filename = tempfile.mkstemp()
prepare_build_config.BUILD_CONFIG_FILE = out_filename
os.environ["JOB_NAME"] = "foo_bar"
prepare_build_config.main(config_base64, True)
dict = {}
for l in open(out_filename):
var, val = l.rstrip().split("=", 1)
dict[var] = val
assert dict == config_dict
|