aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Kevin Lubick <kjlubick@google.com>2017-10-10 10:51:40 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-10-10 15:15:22 +0000
commite0240455a84d530e5f5a5c1525e31341938c9207 (patch)
tree1960d54304dcbe906eecb99c904c69af4be9f2e6
parent6b03480baa2a32884434998388029d97e3d72db6 (diff)
Add Linux GPU Coverage bot
Adds it for Vulkan and non-Vulkan Bug: skia:7080 NOTRY=true Change-Id: I5c4b30b91b96ad6ce9694c42550c4e909de4ba41 Reviewed-on: https://skia-review.googlesource.com/57560 Commit-Queue: Kevin Lubick <kjlubick@google.com> Reviewed-by: Ravi Mistry <rmistry@google.com>
-rw-r--r--infra/bots/README.recipes.md6
-rw-r--r--infra/bots/jobs.json3
-rw-r--r--infra/bots/recipe_modules/flavor/gn_flavor.py8
-rw-r--r--infra/bots/recipes/compile.expected/Build-Debian9-Clang-x86_64-Release-Vulkan_Coverage.json181
-rw-r--r--infra/bots/recipes/compile.py1
-rw-r--r--infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan_Coverage.json326
-rw-r--r--infra/bots/recipes/test.py2
-rw-r--r--infra/bots/tasks.json232
8 files changed, 752 insertions, 7 deletions
diff --git a/infra/bots/README.recipes.md b/infra/bots/README.recipes.md
index 58753dd0f7..4ec7a47194 100644
--- a/infra/bots/README.recipes.md
+++ b/infra/bots/README.recipes.md
@@ -830,17 +830,17 @@ benchmark Skia using skpbench.
[DEPS](/infra/bots/recipes/test.py#9): [recipe\_engine/context][recipe_engine/recipe_modules/context], [recipe\_engine/file][recipe_engine/recipe_modules/file], [recipe\_engine/json][recipe_engine/recipe_modules/json], [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/python][recipe_engine/recipe_modules/python], [recipe\_engine/raw\_io][recipe_engine/recipe_modules/raw_io], [recipe\_engine/step][recipe_engine/recipe_modules/step], [core](#recipe_modules-core), [env](#recipe_modules-env), [flavor](#recipe_modules-flavor), [run](#recipe_modules-run), [vars](#recipe_modules-vars)
-&mdash; **def [RunSteps](/infra/bots/recipes/test.py#838)(api):**
+&mdash; **def [RunSteps](/infra/bots/recipes/test.py#835)(api):**
&mdash; **def [dm\_flags](/infra/bots/recipes/test.py#27)(api, bot):**
-&mdash; **def [key\_params](/infra/bots/recipes/test.py#689)(api):**
+&mdash; **def [key\_params](/infra/bots/recipes/test.py#686)(api):**
Build a unique key from the builder name (as a list).
E.g. arch x86 gpu GeForce320M mode MacMini4.1 os Mac10.6
-&mdash; **def [test\_steps](/infra/bots/recipes/test.py#706)(api):**
+&mdash; **def [test\_steps](/infra/bots/recipes/test.py#703)(api):**
Run the DM test.
### *recipes* / [update\_meta\_config](/infra/bots/recipes/update_meta_config.py)
diff --git a/infra/bots/jobs.json b/infra/bots/jobs.json
index 4ce280a423..69cf4dce14 100644
--- a/infra/bots/jobs.json
+++ b/infra/bots/jobs.json
@@ -26,6 +26,7 @@
"Build-Debian9-Clang-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE",
"Build-Debian9-Clang-x86_64-Debug-UBSAN_float_cast_overflow",
"Build-Debian9-Clang-x86_64-Debug-Vulkan",
+ "Build-Debian9-Clang-x86_64-Debug-Vulkan_Coverage",
"Build-Debian9-Clang-x86_64-Release",
"Build-Debian9-Clang-x86_64-Release-ASAN",
"Build-Debian9-Clang-x86_64-Release-Fast",
@@ -360,7 +361,9 @@
"Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release",
"Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release-Vulkan",
"Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug",
+ "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Coverage",
"Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan",
+ "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan_Coverage",
"Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Release",
"Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Release-Vulkan",
"Test-Ubuntu16-Clang-NUCDE3815TYKHE-GPU-IntelBayTrail-x86_64-Debug",
diff --git a/infra/bots/recipe_modules/flavor/gn_flavor.py b/infra/bots/recipe_modules/flavor/gn_flavor.py
index b1855de98e..9924122a05 100644
--- a/infra/bots/recipe_modules/flavor/gn_flavor.py
+++ b/infra/bots/recipe_modules/flavor/gn_flavor.py
@@ -59,7 +59,7 @@ class GNFlavorUtils(default_flavor.DefaultFlavorUtils):
cxx = emscripten_sdk + '/emscripten/incoming/em++'
extra_cflags.append('-Wno-unknown-warning-option')
- if extra_config == 'Coverage':
+ if 'Coverage' in extra_config:
# See https://clang.llvm.org/docs/SourceBasedCodeCoverage.html for
# more info on using llvm to gather coverage information.
extra_cflags.append('-fprofile-instr-generate')
@@ -114,7 +114,7 @@ class GNFlavorUtils(default_flavor.DefaultFlavorUtils):
args['skia_enable_gpu'] = 'false'
if extra_config == 'Shared':
args['is_component_build'] = 'true'
- if extra_config == 'Vulkan':
+ if 'Vulkan' in extra_config and not 'Android' in extra_config:
args['skia_enable_vulkan_debug_layers'] = 'false'
if self.m.vars.is_linux:
args['skia_vulkan_sdk'] = '"%s"' % linux_vulkan_sdk
@@ -134,7 +134,7 @@ class GNFlavorUtils(default_flavor.DefaultFlavorUtils):
'skia_use_icu': 'false',
'skia_enable_gpu': 'false',
})
- if extra_config == 'Coverage':
+ if 'Coverage' in extra_config:
args['skia_use_system_freetype2'] = 'false'
sanitize = ''
@@ -238,7 +238,7 @@ class GNFlavorUtils(default_flavor.DefaultFlavorUtils):
# If we're in a signal handler, we're already crashing...
env['TSAN_OPTIONS'] = 'report_signal_unsafe=0'
- if 'Coverage' == extra_config:
+ if 'Coverage' in extra_config:
# This is the output file for the coverage data. Just running the binary
# will produce the output. The output_file is in the swarming_out_dir and
# thus will be an isolated output of the Test step.
diff --git a/infra/bots/recipes/compile.expected/Build-Debian9-Clang-x86_64-Release-Vulkan_Coverage.json b/infra/bots/recipes/compile.expected/Build-Debian9-Clang-x86_64-Release-Vulkan_Coverage.json
new file mode 100644
index 0000000000..5f08a90913
--- /dev/null
+++ b/infra/bots/recipes/compile.expected/Build-Debian9-Clang-x86_64-Release-Vulkan_Coverage.json
@@ -0,0 +1,181 @@
+[
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[CUSTOM_/_B_WORK]"
+ ],
+ "infra_step": true,
+ "name": "makedirs checkout_path"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "remove",
+ "[CUSTOM_/_B_WORK]/.gclient_entries"
+ ],
+ "infra_step": true,
+ "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
+ "--spec-path",
+ "cache_dir = '[CUSTOM_/_B_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': False, 'name': 'skia', 'url': 'https://skia.googlesource.com/skia.git'}]",
+ "--patch_root",
+ "skia",
+ "--revision_mapping_file",
+ "{\"got_revision\": \"skia\"}",
+ "--git-cache-dir",
+ "[CUSTOM_/_B_CACHE]",
+ "--cleanup-dir",
+ "[CLEANUP]/bot_update",
+ "--output_json",
+ "/path/to/tmp/json",
+ "--revision",
+ "skia@abc123"
+ ],
+ "cwd": "[CUSTOM_/_B_WORK]",
+ "env_prefixes": {
+ "PATH": [
+ "RECIPE_PACKAGE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "bot_update",
+ "~followup_annotations": [
+ "@@@STEP_TEXT@Some step text@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"did_run\": true, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"fixed_revisions\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"skia\": \"abc123\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"manifest\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"skia\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/skia.git\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"patch_failure\": false, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"patch_root\": \"skia\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"got_revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"got_revision_cp\": \"refs/heads/master@{#164710}\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"root\": \"skia\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"step_text\": \"Some step text\"@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@",
+ "@@@SET_BUILD_PROPERTY@got_revision@\"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
+ "@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#164710}\"@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "[CUSTOM_/_B_WORK]/skia/bin/fetch-gn"
+ ],
+ "cwd": "[CUSTOM_/_B_WORK]/skia",
+ "env": {
+ "BUILDTYPE": "Release",
+ "CC": "/usr/bin/clang",
+ "CHROME_HEADLESS": "1",
+ "CXX": "/usr/bin/clang++",
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
+ "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-x86_64-Release-Vulkan_Coverage"
+ },
+ "infra_step": true,
+ "name": "fetch-gn"
+ },
+ {
+ "cmd": [
+ "[CUSTOM_/_B_WORK]/skia/bin/gn",
+ "gen",
+ "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-x86_64-Release-Vulkan_Coverage/Release",
+ "--args=cc=\"[START_DIR]/clang_linux/bin/clang\" cxx=\"[START_DIR]/clang_linux/bin/clang++\" extra_cflags=[\"-B[START_DIR]/clang_linux/bin\", \"-fprofile-instr-generate\", \"-fcoverage-mapping\"] extra_ldflags=[\"-B[START_DIR]/clang_linux/bin\", \"-fuse-ld=lld\", \"-fprofile-instr-generate\", \"-fcoverage-mapping\"] is_debug=false skia_enable_vulkan_debug_layers=false skia_use_system_freetype2=false skia_vulkan_sdk=\"[START_DIR]/linux_vulkan_sdk\" target_cpu=\"x86_64\""
+ ],
+ "cwd": "[CUSTOM_/_B_WORK]/skia",
+ "env": {
+ "BUILDTYPE": "Release",
+ "CC": "/usr/bin/clang",
+ "CHROME_HEADLESS": "1",
+ "CXX": "/usr/bin/clang++",
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
+ "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-x86_64-Release-Vulkan_Coverage"
+ },
+ "name": "gn gen"
+ },
+ {
+ "cmd": [
+ "ninja",
+ "-C",
+ "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-x86_64-Release-Vulkan_Coverage/Release"
+ ],
+ "cwd": "[CUSTOM_/_B_WORK]/skia",
+ "env": {
+ "BUILDTYPE": "Release",
+ "CC": "/usr/bin/clang",
+ "CHROME_HEADLESS": "1",
+ "CXX": "/usr/bin/clang++",
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
+ "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-x86_64-Release-Vulkan_Coverage"
+ },
+ "name": "ninja"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "import errno\nimport glob\nimport os\nimport shutil\nimport sys\n\nsrc = sys.argv[1]\ndst = sys.argv[2]\nbuild_products_whitelist = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'nanobench', 'nanobench.exe', 'skpbench', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'lib/*.so', 'iOSShell.app', 'iOSShell.ipa', 'visualbench', 'visualbench.exe', 'vulkan-1.dll']\n\ntry:\n os.makedirs(dst)\nexcept OSError as e:\n if e.errno != errno.EEXIST:\n raise\n\nfor pattern in build_products_whitelist:\n path = os.path.join(src, pattern)\n for f in glob.glob(path):\n dst_path = os.path.join(dst, os.path.relpath(f, src))\n if not os.path.isdir(os.path.dirname(dst_path)):\n os.makedirs(os.path.dirname(dst_path))\n print 'Copying build product %s to %s' % (f, dst_path)\n shutil.move(f, dst_path)\n",
+ "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-x86_64-Release-Vulkan_Coverage/Release",
+ "[CUSTOM_[SWARM_OUT_DIR]]/out/Release"
+ ],
+ "infra_step": true,
+ "name": "copy build products",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@python.inline@import errno@@@",
+ "@@@STEP_LOG_LINE@python.inline@import glob@@@",
+ "@@@STEP_LOG_LINE@python.inline@import os@@@",
+ "@@@STEP_LOG_LINE@python.inline@import shutil@@@",
+ "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+ "@@@STEP_LOG_LINE@python.inline@@@@",
+ "@@@STEP_LOG_LINE@python.inline@src = sys.argv[1]@@@",
+ "@@@STEP_LOG_LINE@python.inline@dst = sys.argv[2]@@@",
+ "@@@STEP_LOG_LINE@python.inline@build_products_whitelist = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'nanobench', 'nanobench.exe', 'skpbench', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'lib/*.so', 'iOSShell.app', 'iOSShell.ipa', 'visualbench', 'visualbench.exe', 'vulkan-1.dll']@@@",
+ "@@@STEP_LOG_LINE@python.inline@@@@",
+ "@@@STEP_LOG_LINE@python.inline@try:@@@",
+ "@@@STEP_LOG_LINE@python.inline@ os.makedirs(dst)@@@",
+ "@@@STEP_LOG_LINE@python.inline@except OSError as e:@@@",
+ "@@@STEP_LOG_LINE@python.inline@ if e.errno != errno.EEXIST:@@@",
+ "@@@STEP_LOG_LINE@python.inline@ raise@@@",
+ "@@@STEP_LOG_LINE@python.inline@@@@",
+ "@@@STEP_LOG_LINE@python.inline@for pattern in build_products_whitelist:@@@",
+ "@@@STEP_LOG_LINE@python.inline@ path = os.path.join(src, pattern)@@@",
+ "@@@STEP_LOG_LINE@python.inline@ for f in glob.glob(path):@@@",
+ "@@@STEP_LOG_LINE@python.inline@ dst_path = os.path.join(dst, os.path.relpath(f, src))@@@",
+ "@@@STEP_LOG_LINE@python.inline@ if not os.path.isdir(os.path.dirname(dst_path)):@@@",
+ "@@@STEP_LOG_LINE@python.inline@ os.makedirs(os.path.dirname(dst_path))@@@",
+ "@@@STEP_LOG_LINE@python.inline@ print 'Copying build product %s to %s' % (f, dst_path)@@@",
+ "@@@STEP_LOG_LINE@python.inline@ shutil.move(f, dst_path)@@@",
+ "@@@STEP_LOG_END@python.inline@@@"
+ ]
+ },
+ {
+ "name": "$result",
+ "recipe_result": null,
+ "status_code": 0
+ }
+] \ No newline at end of file
diff --git a/infra/bots/recipes/compile.py b/infra/bots/recipes/compile.py
index bde164d1e3..e723da9280 100644
--- a/infra/bots/recipes/compile.py
+++ b/infra/bots/recipes/compile.py
@@ -88,6 +88,7 @@ TEST_BUILDERS = [
'Build-Debian9-Clang-x86_64-Release-Fast',
'Build-Debian9-Clang-x86_64-Release-Mini',
'Build-Debian9-Clang-x86_64-Release-Vulkan',
+ 'Build-Debian9-Clang-x86_64-Release-Vulkan_Coverage',
'Build-Debian9-EMCC-wasm-Release',
'Build-Debian9-GCC-arm-Release-Chromecast',
'Build-Debian9-GCC-x86-Debug',
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan_Coverage.json b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan_Coverage.json
new file mode 100644
index 0000000000..b7d461f25e
--- /dev/null
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan_Coverage.json
@@ -0,0 +1,326 @@
+[
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/skia/infra/bots/assets/skp/VERSION",
+ "/path/to/tmp/"
+ ],
+ "infra_step": true,
+ "name": "Get downloaded SKP VERSION"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "42",
+ "[START_DIR]/tmp/SKP_VERSION"
+ ],
+ "infra_step": true,
+ "name": "write SKP_VERSION"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/skia/infra/bots/assets/skimage/VERSION",
+ "/path/to/tmp/"
+ ],
+ "infra_step": true,
+ "name": "Get downloaded skimage VERSION"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "42",
+ "[START_DIR]/tmp/SK_IMAGE_VERSION"
+ ],
+ "infra_step": true,
+ "name": "write SK_IMAGE_VERSION"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[START_DIR]/skia/infra/bots/assets/svg/VERSION",
+ "/path/to/tmp/"
+ ],
+ "infra_step": true,
+ "name": "Get downloaded SVG VERSION"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "42",
+ "[START_DIR]/tmp/SVG_VERSION"
+ ],
+ "infra_step": true,
+ "name": "write SVG_VERSION"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
+ ],
+ "name": "get swarming bot id",
+ "stdout": "/path/to/tmp/",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@python.inline@import os@@@",
+ "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
+ "@@@STEP_LOG_END@python.inline@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
+ ],
+ "name": "get swarming task id",
+ "stdout": "/path/to/tmp/",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@python.inline@import os@@@",
+ "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
+ "@@@STEP_LOG_END@python.inline@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[skia::flavor]/resources/symbolize_stack_trace.py",
+ "[START_DIR]",
+ "catchsegv",
+ "[START_DIR]/out/Debug/dm",
+ "--resourcePath",
+ "[START_DIR]/skia/resources",
+ "--skps",
+ "[START_DIR]/skp",
+ "--images",
+ "[START_DIR]/skimage/dm",
+ "--colorImages",
+ "[START_DIR]/skimage/colorspace",
+ "--nameByHash",
+ "--properties",
+ "gitHash",
+ "abc123",
+ "builder",
+ "Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan_Coverage",
+ "swarming_bot_id",
+ "skia-bot-123",
+ "swarming_task_id",
+ "123456",
+ "--svgs",
+ "[START_DIR]/svg",
+ "--key",
+ "arch",
+ "x86_64",
+ "compiler",
+ "Clang",
+ "configuration",
+ "Debug",
+ "cpu_or_gpu",
+ "GPU",
+ "cpu_or_gpu_value",
+ "IntelIris540",
+ "extra_config",
+ "Vulkan_Coverage",
+ "model",
+ "NUC6i5SYK",
+ "os",
+ "Ubuntu16",
+ "--dont_write",
+ "pdf",
+ "--randomProcessorTest",
+ "--nocpu",
+ "--config",
+ "vk",
+ "--src",
+ "tests",
+ "gm",
+ "image",
+ "colorImage",
+ "svg",
+ "--blacklist",
+ "gltestthreading",
+ "gm",
+ "_",
+ "lcdblendmodes",
+ "gltestthreading",
+ "gm",
+ "_",
+ "lcdoverlap",
+ "gltestthreading",
+ "gm",
+ "_",
+ "textbloblooper",
+ "gltestthreading",
+ "gm",
+ "_",
+ "bleed_alpha_bmp",
+ "gltestthreading",
+ "gm",
+ "_",
+ "bleed_alpha_bmp_shader",
+ "gltestthreading",
+ "gm",
+ "_",
+ "bleed_alpha_image",
+ "gltestthreading",
+ "gm",
+ "_",
+ "bleed_alpha_image_shader",
+ "gltestthreading",
+ "gm",
+ "_",
+ "savelayer_with_backdrop",
+ "gltestthreading",
+ "gm",
+ "_",
+ "persp_shaders_bw",
+ "_",
+ "svg",
+ "_",
+ "svgparse_",
+ "_",
+ "image",
+ "_",
+ "interlaced1.png",
+ "_",
+ "image",
+ "_",
+ "interlaced2.png",
+ "_",
+ "image",
+ "_",
+ "interlaced3.png",
+ "_",
+ "image",
+ "_",
+ ".arw",
+ "_",
+ "image",
+ "_",
+ ".cr2",
+ "_",
+ "image",
+ "_",
+ ".dng",
+ "_",
+ "image",
+ "_",
+ ".nef",
+ "_",
+ "image",
+ "_",
+ ".nrw",
+ "_",
+ "image",
+ "_",
+ ".orf",
+ "_",
+ "image",
+ "_",
+ ".raf",
+ "_",
+ "image",
+ "_",
+ ".rw2",
+ "_",
+ "image",
+ "_",
+ ".pef",
+ "_",
+ "image",
+ "_",
+ ".srw",
+ "_",
+ "image",
+ "_",
+ ".ARW",
+ "_",
+ "image",
+ "_",
+ ".CR2",
+ "_",
+ "image",
+ "_",
+ ".DNG",
+ "_",
+ "image",
+ "_",
+ ".NEF",
+ "_",
+ "image",
+ "_",
+ ".NRW",
+ "_",
+ "image",
+ "_",
+ ".ORF",
+ "_",
+ "image",
+ "_",
+ ".RAF",
+ "_",
+ "image",
+ "_",
+ ".RW2",
+ "_",
+ "image",
+ "_",
+ ".PEF",
+ "_",
+ "image",
+ "_",
+ ".SRW",
+ "--match",
+ "~VkHeapTests",
+ "--verbose"
+ ],
+ "cwd": "[START_DIR]/skia",
+ "env": {
+ "BUILDTYPE": "Debug",
+ "CHROME_HEADLESS": "1",
+ "LD_LIBRARY_PATH": "[START_DIR]/linux_vulkan_intel_driver_debug:[START_DIR]/linux_vulkan_sdk/lib",
+ "LIBGL_DRIVERS_PATH": "[START_DIR]/linux_vulkan_intel_driver_debug",
+ "LLVM_PROFILE_FILE": "[CUSTOM_[SWARM_OUT_DIR]]/output.profraw",
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]:[START_DIR]/linux_vulkan_sdk/bin",
+ "SKIA_OUT": "[START_DIR]/out",
+ "VK_ICD_FILENAMES": "[START_DIR]/linux_vulkan_intel_driver_debug/intel_icd.x86_64.json"
+ },
+ "name": "symbolized dm"
+ },
+ {
+ "name": "$result",
+ "recipe_result": null,
+ "status_code": 0
+ }
+] \ No newline at end of file
diff --git a/infra/bots/recipes/test.py b/infra/bots/recipes/test.py
index bd68d924d8..d29f502c4f 100644
--- a/infra/bots/recipes/test.py
+++ b/infra/bots/recipes/test.py
@@ -883,6 +883,8 @@ TEST_BUILDERS = [
'Test-Mac-Clang-MacMini7.1-GPU-IntelIris5100-x86_64-Debug-CommandBuffer',
'Test-Ubuntu16-Clang-NUC5PPYH-GPU-IntelHD405-x86_64-Debug',
'Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan',
+ ('Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan'
+ '_Coverage'),
'Test-Ubuntu16-Clang-NUCDE3815TYKHE-GPU-IntelBayTrail-x86_64-Debug',
('Test-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release'
'-Valgrind_AbandonGpuContext_SK_CPU_LIMIT_SSE41'),
diff --git a/infra/bots/tasks.json b/infra/bots/tasks.json
index 553689e846..dd059749a3 100644
--- a/infra/bots/tasks.json
+++ b/infra/bots/tasks.json
@@ -162,6 +162,12 @@
"Build-Debian9-Clang-x86_64-Debug-Vulkan"
]
},
+ "Build-Debian9-Clang-x86_64-Debug-Vulkan_Coverage": {
+ "priority": 0.8,
+ "tasks": [
+ "Build-Debian9-Clang-x86_64-Debug-Vulkan_Coverage"
+ ]
+ },
"Build-Debian9-Clang-x86_64-Release": {
"priority": 0.8,
"tasks": [
@@ -2177,12 +2183,24 @@
"Upload-Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug"
]
},
+ "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Coverage": {
+ "priority": 0.8,
+ "tasks": [
+ "Upload-Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Coverage"
+ ]
+ },
"Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan": {
"priority": 0.8,
"tasks": [
"Upload-Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan"
]
},
+ "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan_Coverage": {
+ "priority": 0.8,
+ "tasks": [
+ "Upload-Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan_Coverage"
+ ]
+ },
"Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Release": {
"priority": 0.8,
"tasks": [
@@ -3560,6 +3578,41 @@
"isolate": "compile_skia.isolate",
"priority": 0.8
},
+ "Build-Debian9-Clang-x86_64-Debug-Vulkan_Coverage": {
+ "cipd_packages": [
+ {
+ "name": "skia/bots/clang_linux",
+ "path": "clang_linux",
+ "version": "version:10"
+ },
+ {
+ "name": "skia/bots/linux_vulkan_sdk",
+ "path": "linux_vulkan_sdk",
+ "version": "version:0"
+ }
+ ],
+ "dimensions": [
+ "cpu:x86-64-Haswell_GCE",
+ "gpu:none",
+ "os:Debian-9.1",
+ "pool:Skia"
+ ],
+ "extra_args": [
+ "--workdir",
+ "../../..",
+ "compile",
+ "repository=<(REPO)",
+ "buildername=Build-Debian9-Clang-x86_64-Debug-Vulkan_Coverage",
+ "swarm_out_dir=${ISOLATED_OUTDIR}",
+ "revision=<(REVISION)",
+ "patch_repo=<(PATCH_REPO)",
+ "patch_storage=<(PATCH_STORAGE)",
+ "patch_issue=<(ISSUE)",
+ "patch_set=<(PATCHSET)"
+ ],
+ "isolate": "compile_skia.isolate",
+ "priority": 0.8
+ },
"Build-Debian9-Clang-x86_64-Release": {
"cipd_packages": [
{
@@ -16597,6 +16650,58 @@
"max_attempts": 1,
"priority": 0.8
},
+ "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Coverage": {
+ "cipd_packages": [
+ {
+ "name": "skia/bots/skimage",
+ "path": "skimage",
+ "version": "version:32"
+ },
+ {
+ "name": "skia/bots/skp",
+ "path": "skp",
+ "version": "version:89"
+ },
+ {
+ "name": "skia/bots/svg",
+ "path": "svg",
+ "version": "version:9"
+ },
+ {
+ "name": "skia/bots/linux_vulkan_intel_driver_debug",
+ "path": "linux_vulkan_intel_driver_debug",
+ "version": "version:4"
+ }
+ ],
+ "dependencies": [
+ "Build-Debian9-Clang-x86_64-Debug-Coverage",
+ "Housekeeper-PerCommit-BundleRecipes"
+ ],
+ "dimensions": [
+ "gpu:8086:5926",
+ "os:Ubuntu-16.10",
+ "pool:Skia"
+ ],
+ "execution_timeout_ns": 14400000000000,
+ "expiration_ns": 72000000000000,
+ "extra_args": [
+ "--workdir",
+ "../../..",
+ "test",
+ "repository=<(REPO)",
+ "buildername=Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Coverage",
+ "swarm_out_dir=${ISOLATED_OUTDIR}",
+ "revision=<(REVISION)",
+ "patch_repo=<(PATCH_REPO)",
+ "patch_storage=<(PATCH_STORAGE)",
+ "patch_issue=<(ISSUE)",
+ "patch_set=<(PATCHSET)"
+ ],
+ "io_timeout_ns": 2400000000000,
+ "isolate": "test_skia_bundled_unix.isolate",
+ "max_attempts": 1,
+ "priority": 0.8
+ },
"Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan": {
"cipd_packages": [
{
@@ -16654,6 +16759,63 @@
"max_attempts": 1,
"priority": 0.8
},
+ "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan_Coverage": {
+ "cipd_packages": [
+ {
+ "name": "skia/bots/skimage",
+ "path": "skimage",
+ "version": "version:32"
+ },
+ {
+ "name": "skia/bots/skp",
+ "path": "skp",
+ "version": "version:89"
+ },
+ {
+ "name": "skia/bots/svg",
+ "path": "svg",
+ "version": "version:9"
+ },
+ {
+ "name": "skia/bots/linux_vulkan_sdk",
+ "path": "linux_vulkan_sdk",
+ "version": "version:0"
+ },
+ {
+ "name": "skia/bots/linux_vulkan_intel_driver_debug",
+ "path": "linux_vulkan_intel_driver_debug",
+ "version": "version:4"
+ }
+ ],
+ "dependencies": [
+ "Build-Debian9-Clang-x86_64-Debug-Vulkan_Coverage",
+ "Housekeeper-PerCommit-BundleRecipes"
+ ],
+ "dimensions": [
+ "gpu:8086:5926",
+ "os:Ubuntu-16.10",
+ "pool:Skia"
+ ],
+ "execution_timeout_ns": 14400000000000,
+ "expiration_ns": 72000000000000,
+ "extra_args": [
+ "--workdir",
+ "../../..",
+ "test",
+ "repository=<(REPO)",
+ "buildername=Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan_Coverage",
+ "swarm_out_dir=${ISOLATED_OUTDIR}",
+ "revision=<(REVISION)",
+ "patch_repo=<(PATCH_REPO)",
+ "patch_storage=<(PATCH_STORAGE)",
+ "patch_issue=<(ISSUE)",
+ "patch_set=<(PATCHSET)"
+ ],
+ "io_timeout_ns": 2400000000000,
+ "isolate": "test_skia_bundled_unix.isolate",
+ "max_attempts": 1,
+ "priority": 0.8
+ },
"Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Release": {
"cipd_packages": [
{
@@ -25264,6 +25426,41 @@
"isolate": "upload_dm_results.isolate",
"priority": 0.8
},
+ "Upload-Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Coverage": {
+ "cipd_packages": [
+ {
+ "name": "skia/bots/clang_linux",
+ "path": "clang_linux",
+ "version": "version:10"
+ }
+ ],
+ "dependencies": [
+ "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Coverage",
+ "Build-Debian9-Clang-x86_64-Debug-Coverage"
+ ],
+ "dimensions": [
+ "cpu:x86-64-Haswell_GCE",
+ "gpu:none",
+ "os:Debian-9.1",
+ "pool:Skia"
+ ],
+ "extra_args": [
+ "--workdir",
+ "../../..",
+ "upload_coverage_results",
+ "repository=<(REPO)",
+ "buildername=Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Coverage",
+ "swarm_out_dir=${ISOLATED_OUTDIR}",
+ "revision=<(REVISION)",
+ "patch_repo=<(PATCH_REPO)",
+ "patch_storage=<(PATCH_STORAGE)",
+ "patch_issue=<(ISSUE)",
+ "patch_set=<(PATCHSET)",
+ "gs_bucket=skia-coverage"
+ ],
+ "isolate": "upload_coverage_results.isolate",
+ "priority": 0.8
+ },
"Upload-Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan": {
"dependencies": [
"Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan"
@@ -25291,6 +25488,41 @@
"isolate": "upload_dm_results.isolate",
"priority": 0.8
},
+ "Upload-Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan_Coverage": {
+ "cipd_packages": [
+ {
+ "name": "skia/bots/clang_linux",
+ "path": "clang_linux",
+ "version": "version:10"
+ }
+ ],
+ "dependencies": [
+ "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan_Coverage",
+ "Build-Debian9-Clang-x86_64-Debug-Vulkan_Coverage"
+ ],
+ "dimensions": [
+ "cpu:x86-64-Haswell_GCE",
+ "gpu:none",
+ "os:Debian-9.1",
+ "pool:Skia"
+ ],
+ "extra_args": [
+ "--workdir",
+ "../../..",
+ "upload_coverage_results",
+ "repository=<(REPO)",
+ "buildername=Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan_Coverage",
+ "swarm_out_dir=${ISOLATED_OUTDIR}",
+ "revision=<(REVISION)",
+ "patch_repo=<(PATCH_REPO)",
+ "patch_storage=<(PATCH_STORAGE)",
+ "patch_issue=<(ISSUE)",
+ "patch_set=<(PATCHSET)",
+ "gs_bucket=skia-coverage"
+ ],
+ "isolate": "upload_coverage_results.isolate",
+ "priority": 0.8
+ },
"Upload-Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Release": {
"dependencies": [
"Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Release"