From 9b14838b95943454611884a55219bf538239bba9 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Mon, 23 Apr 2012 17:45:03 +0300 Subject: prepare_build_config.py: Fix mistakes and add more tests. --- tests/test_prepare_build_config.py | 58 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) (limited to 'tests') diff --git a/tests/test_prepare_build_config.py b/tests/test_prepare_build_config.py index e8692c4..ff504f7 100644 --- a/tests/test_prepare_build_config.py +++ b/tests/test_prepare_build_config.py @@ -1,5 +1,7 @@ import sys import os +import base64 +import tempfile sys.path.append(os.path.dirname(__file__) + "/../node") import prepare_build_config @@ -36,3 +38,59 @@ def test_validate_config(): 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 -- cgit v1.2.3