diff options
Diffstat (limited to 'testing/mozharness/configs/unittests/linux_unittest.py')
-rw-r--r-- | testing/mozharness/configs/unittests/linux_unittest.py | 306 |
1 files changed, 306 insertions, 0 deletions
diff --git a/testing/mozharness/configs/unittests/linux_unittest.py b/testing/mozharness/configs/unittests/linux_unittest.py new file mode 100644 index 000000000..77e4ed501 --- /dev/null +++ b/testing/mozharness/configs/unittests/linux_unittest.py @@ -0,0 +1,306 @@ +import os +import platform + +# OS Specifics +ABS_WORK_DIR = os.path.join(os.getcwd(), "build") +BINARY_PATH = os.path.join(ABS_WORK_DIR, "application", "firefox", "firefox-bin") +INSTALLER_PATH = os.path.join(ABS_WORK_DIR, "installer.tar.bz2") +XPCSHELL_NAME = "xpcshell" +EXE_SUFFIX = "" +DISABLE_SCREEN_SAVER = True +ADJUST_MOUSE_AND_SCREEN = False + +# Note: keep these Valgrind .sup file names consistent with those +# in testing/mochitest/mochitest_options.py. +VALGRIND_SUPP_DIR = os.path.join(os.getcwd(), "build/tests/mochitest") +VALGRIND_SUPP_CROSS_ARCH = os.path.join(VALGRIND_SUPP_DIR, + "cross-architecture.sup") +VALGRIND_SUPP_ARCH = None + +if platform.architecture()[0] == "64bit": + TOOLTOOL_MANIFEST_PATH = "config/tooltool-manifests/linux64/releng.manifest" + MINIDUMP_STACKWALK_PATH = "linux64-minidump_stackwalk" + VALGRIND_SUPP_ARCH = os.path.join(VALGRIND_SUPP_DIR, + "x86_64-redhat-linux-gnu.sup") + NODEJS_PATH = "node-linux-x64/bin/node" + NODEJS_TOOLTOOL_MANIFEST_PATH = "config/tooltool-manifests/linux64/nodejs.manifest" +else: + TOOLTOOL_MANIFEST_PATH = "config/tooltool-manifests/linux32/releng.manifest" + MINIDUMP_STACKWALK_PATH = "linux32-minidump_stackwalk" + VALGRIND_SUPP_ARCH = os.path.join(VALGRIND_SUPP_DIR, + "i386-redhat-linux-gnu.sup") + NODEJS_PATH = "node-linux-x86/bin/node" + NODEJS_TOOLTOOL_MANIFEST_PATH = "config/tooltool-manifests/linux32/nodejs.manifest" + +##### +config = { + "buildbot_json_path": "buildprops.json", + "exes": { + "python": "/tools/buildbot/bin/python", + "virtualenv": ["/tools/buildbot/bin/python", "/tools/misc-python/virtualenv.py"], + "tooltool.py": "/tools/tooltool.py", + }, + "find_links": [ + "http://pypi.pvt.build.mozilla.org/pub", + "http://pypi.pub.build.mozilla.org/pub", + ], + "pip_index": False, + ### + "installer_path": INSTALLER_PATH, + "binary_path": BINARY_PATH, + "xpcshell_name": XPCSHELL_NAME, + "exe_suffix": EXE_SUFFIX, + "run_file_names": { + "mochitest": "runtests.py", + "reftest": "runreftest.py", + "xpcshell": "runxpcshelltests.py", + "cppunittest": "runcppunittests.py", + "gtest": "rungtests.py", + "jittest": "jit_test.py", + "mozbase": "test.py", + "mozmill": "runtestlist.py", + }, + "minimum_tests_zip_dirs": [ + "bin/*", + "certs/*", + "config/*", + "mach", + "marionette/*", + "modules/*", + "mozbase/*", + "tools/*", + ], + "specific_tests_zip_dirs": { + "mochitest": ["mochitest/*"], + "reftest": ["reftest/*", "jsreftest/*"], + "xpcshell": ["xpcshell/*"], + "cppunittest": ["cppunittest/*"], + "gtest": ["gtest/*"], + "jittest": ["jit-test/*"], + "mozbase": ["mozbase/*"], + "mozmill": ["mozmill/*"], + }, + "suite_definitions": { + "cppunittest": { + "options": [ + "--symbols-path=%(symbols_path)s", + "--xre-path=%(abs_app_dir)s" + ], + "run_filename": "runcppunittests.py", + "testsdir": "cppunittest" + }, + "jittest": { + "options": [ + "tests/bin/js", + "--no-slow", + "--no-progress", + "--format=automation", + "--jitflags=all", + "--timeout=970" # Keep in sync with run_timeout below. + ], + "run_filename": "jit_test.py", + "testsdir": "jit-test/jit-test", + "run_timeout": 1000 # Keep in sync with --timeout above. + }, + "mochitest": { + "options": [ + "--appname=%(binary_path)s", + "--utility-path=tests/bin", + "--extra-profile-file=tests/bin/plugins", + "--symbols-path=%(symbols_path)s", + "--certificate-path=tests/certs", + "--setpref=webgl.force-enabled=true", + "--quiet", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--use-test-media-devices", + "--screenshot-on-fail", + "--cleanup-crashes", + "--marionette-startup-timeout=180", + ], + "run_filename": "runtests.py", + "testsdir": "mochitest" + }, + "mozbase": { + "options": [ + "-b", + "%(binary_path)s" + ], + "run_filename": "test.py", + "testsdir": "mozbase" + }, + "mozmill": { + "options": [ + "--binary=%(binary_path)s", + "--testing-modules-dir=test/modules", + "--plugins-path=%(test_plugin_path)s", + "--symbols-path=%(symbols_path)s" + ], + "run_filename": "runtestlist.py", + "testsdir": "mozmill" + }, + "reftest": { + "options": [ + "--appname=%(binary_path)s", + "--utility-path=tests/bin", + "--extra-profile-file=tests/bin/plugins", + "--symbols-path=%(symbols_path)s", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--cleanup-crashes", + ], + "run_filename": "runreftest.py", + "testsdir": "reftest" + }, + "xpcshell": { + "options": [ + "--symbols-path=%(symbols_path)s", + "--test-plugin-path=%(test_plugin_path)s", + "--log-raw=%(raw_log_file)s", + "--log-errorsummary=%(error_summary_file)s", + "--utility-path=tests/bin", + ], + "run_filename": "runxpcshelltests.py", + "testsdir": "xpcshell" + }, + "gtest": { + "options": [ + "--xre-path=%(abs_res_dir)s", + "--cwd=%(gtest_dir)s", + "--symbols-path=%(symbols_path)s", + "--utility-path=tests/bin", + "%(binary_path)s", + ], + "run_filename": "rungtests.py", + }, + }, + # local mochi suites + "all_mochitest_suites": { + "valgrind-plain": ["--valgrind=/usr/bin/valgrind", + "--valgrind-supp-files=" + VALGRIND_SUPP_ARCH + + "," + VALGRIND_SUPP_CROSS_ARCH, + "--timeout=900", "--max-timeouts=50"], + "plain": [], + "plain-gpu": ["--subsuite=gpu"], + "plain-clipboard": ["--subsuite=clipboard"], + "plain-chunked": ["--chunk-by-dir=4"], + "mochitest-media": ["--subsuite=media"], + "chrome": ["--flavor=chrome"], + "chrome-gpu": ["--flavor=chrome", "--subsuite=gpu"], + "chrome-clipboard": ["--flavor=chrome", "--subsuite=clipboard"], + "chrome-chunked": ["--flavor=chrome", "--chunk-by-dir=4"], + "browser-chrome": ["--flavor=browser"], + "browser-chrome-gpu": ["--flavor=browser", "--subsuite=gpu"], + "browser-chrome-clipboard": ["--flavor=browser", "--subsuite=clipboard"], + "browser-chrome-chunked": ["--flavor=browser", "--chunk-by-runtime"], + "browser-chrome-addons": ["--flavor=browser", "--chunk-by-runtime", "--tag=addons"], + "browser-chrome-coverage": ["--flavor=browser", "--chunk-by-runtime", "--timeout=1200"], + "browser-chrome-screenshots": ["--flavor=browser", "--subsuite=screenshots"], + "mochitest-gl": ["--subsuite=webgl"], + "mochitest-devtools-chrome": ["--flavor=browser", "--subsuite=devtools"], + "mochitest-devtools-chrome-chunked": ["--flavor=browser", "--subsuite=devtools", "--chunk-by-runtime"], + "mochitest-devtools-chrome-coverage": ["--flavor=browser", "--subsuite=devtools", "--chunk-by-runtime", "--timeout=1200"], + "jetpack-package": ["--flavor=jetpack-package"], + "jetpack-package-clipboard": ["--flavor=jetpack-package", "--subsuite=clipboard"], + "jetpack-addon": ["--flavor=jetpack-addon"], + "a11y": ["--flavor=a11y"], + }, + # local reftest suites + "all_reftest_suites": { + "crashtest": { + "options": ["--suite=crashtest"], + "tests": ["tests/reftest/tests/testing/crashtest/crashtests.list"] + }, + "jsreftest": { + "options": ["--extra-profile-file=tests/jsreftest/tests/user.js", + "--suite=jstestbrowser"], + "tests": ["tests/jsreftest/tests/jstests.list"] + }, + "reftest": { + "options": ["--suite=reftest"], + "tests": ["tests/reftest/tests/layout/reftests/reftest.list"] + }, + "reftest-no-accel": { + "options": ["--suite=reftest", + "--setpref=layers.acceleration.force-enabled=disabled"], + "tests": ["tests/reftest/tests/layout/reftests/reftest.list"]}, + }, + "all_xpcshell_suites": { + "xpcshell": { + "options": ["--xpcshell=%(abs_app_dir)s/" + XPCSHELL_NAME, + "--manifest=tests/xpcshell/tests/xpcshell.ini"], + "tests": [] + }, + "xpcshell-addons": { + "options": ["--xpcshell=%(abs_app_dir)s/" + XPCSHELL_NAME, + "--tag=addons", + "--manifest=tests/xpcshell/tests/xpcshell.ini"], + "tests": [] + }, + "xpcshell-coverage": { + "options": ["--xpcshell=%(abs_app_dir)s/" + XPCSHELL_NAME, + "--manifest=tests/xpcshell/tests/xpcshell.ini"], + "tests": [] + }, + }, + "all_cppunittest_suites": { + "cppunittest": {"tests": ["tests/cppunittest"]} + }, + "all_gtest_suites": { + "gtest": [] + }, + "all_jittest_suites": { + "jittest": [], + "jittest1": ["--total-chunks=2", "--this-chunk=1"], + "jittest2": ["--total-chunks=2", "--this-chunk=2"], + "jittest-chunked": [], + }, + "all_mozbase_suites": { + "mozbase": [] + }, + "run_cmd_checks_enabled": True, + "preflight_run_cmd_suites": [ + # NOTE 'enabled' is only here while we have unconsolidated configs + { + "name": "disable_screen_saver", + "cmd": ["xset", "s", "off", "s", "reset"], + "halt_on_failure": False, + "architectures": ["32bit", "64bit"], + "enabled": DISABLE_SCREEN_SAVER + }, + { + "name": "run mouse & screen adjustment script", + "cmd": [ + # when configs are consolidated this python path will only show + # for windows. + "python", "../scripts/external_tools/mouse_and_screen_resolution.py", + "--configuration-file", + "../scripts/external_tools/machine-configuration.json"], + "architectures": ["32bit"], + "halt_on_failure": True, + "enabled": ADJUST_MOUSE_AND_SCREEN + }, + ], + "vcs_output_timeout": 1000, + "minidump_save_path": "%(abs_work_dir)s/../minidumps", + "buildbot_max_log_size": 52428800, + "default_blob_upload_servers": [ + "https://blobupload.elasticbeanstalk.com", + ], + "unstructured_flavors": {"mochitest": ['jetpack'], + "xpcshell": [], + "gtest": [], + "mozmill": [], + "cppunittest": [], + "jittest": [], + "mozbase": [], + }, + "blob_uploader_auth_file": os.path.join(os.getcwd(), "oauth.txt"), + "download_minidump_stackwalk": True, + "minidump_stackwalk_path": MINIDUMP_STACKWALK_PATH, + "minidump_tooltool_manifest_path": TOOLTOOL_MANIFEST_PATH, + "tooltool_cache": "/builds/tooltool_cache", + "download_nodejs": True, + "nodejs_path": NODEJS_PATH, + "nodejs_tooltool_manifest_path": NODEJS_TOOLTOOL_MANIFEST_PATH, +} |