diff options
Diffstat (limited to 'infra/bots/recipe_modules/sktest')
4 files changed, 565 insertions, 11 deletions
diff --git a/infra/bots/recipe_modules/sktest/api.py b/infra/bots/recipe_modules/sktest/api.py index 6925ade055..167683052f 100644 --- a/infra/bots/recipe_modules/sktest/api.py +++ b/infra/bots/recipe_modules/sktest/api.py @@ -543,20 +543,28 @@ def test_steps(api): env = {} env.update(api.vars.default_env) - if 'Ubuntu' in api.vars.builder_name and 'Vulkan' in api.vars.builder_name: - sdk_path = api.vars.slave_dir.join('linux_vulkan_sdk', 'bin') - lib_path = api.vars.slave_dir.join('linux_vulkan_sdk', 'lib') + if 'Ubuntu16' in api.vars.builder_name: + # The vulkan in this asset name simply means that the graphics driver + # supports Vulkan. It is also the driver used for GL code. dri_path = api.vars.slave_dir.join('linux_vulkan_intel_driver_release') if 'Debug' in api.vars.builder_name: dri_path = api.vars.slave_dir.join('linux_vulkan_intel_driver_debug') - - env.update({ - 'PATH':'%%(PATH)s:%s' % sdk_path, - 'LD_LIBRARY_PATH': lib_path, - 'LIBGL_DRIVERS_PATH':'%s' % dri_path, - 'VK_ICD_FILENAMES':'%s' % dri_path.join('intel_icd.x86_64.json'), - }) + if 'Vulkan' in api.vars.builder_name: + sdk_path = api.vars.slave_dir.join('linux_vulkan_sdk', 'bin') + lib_path = api.vars.slave_dir.join('linux_vulkan_sdk', 'lib') + env.update({ + 'PATH':'%%(PATH)s:%s' % sdk_path, + 'LD_LIBRARY_PATH': '%s:%s' % (lib_path, dri_path), + 'LIBGL_DRIVERS_PATH': dri_path, + 'VK_ICD_FILENAMES':'%s' % dri_path.join('intel_icd.x86_64.json'), + }) + else: + # Even the non-vulkan NUC jobs could benefit from the newer drivers. + env.update({ + 'LD_LIBRARY_PATH': dri_path, + 'LIBGL_DRIVERS_PATH': dri_path, + }) api.run(api.flavor.step, 'dm', cmd=args, abort_on_failure=False, diff --git a/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu16-Clang-NUC-GPU-IntelIris540-x86_64-Debug-Vulkan.json b/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu16-Clang-NUC-GPU-IntelIris540-x86_64-Debug-Vulkan.json index 7a1b43321b..0081f5ee58 100644 --- a/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu16-Clang-NUC-GPU-IntelIris540-x86_64-Debug-Vulkan.json +++ b/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu16-Clang-NUC-GPU-IntelIris540-x86_64-Debug-Vulkan.json @@ -331,7 +331,7 @@ "env": { "BUILDTYPE": "Debug", "CHROME_HEADLESS": "1", - "LD_LIBRARY_PATH": "[START_DIR]/linux_vulkan_sdk/lib", + "LD_LIBRARY_PATH": "[START_DIR]/linux_vulkan_sdk/lib:[START_DIR]/linux_vulkan_intel_driver_debug", "LIBGL_DRIVERS_PATH": "[START_DIR]/linux_vulkan_intel_driver_debug", "PATH": "%(PATH)s:[START_DIR]/linux_vulkan_sdk/bin", "SKIA_OUT": "[START_DIR]/out", diff --git a/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu16-Clang-NUC-GPU-IntelIris540-x86_64-Release.json b/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu16-Clang-NUC-GPU-IntelIris540-x86_64-Release.json new file mode 100644 index 0000000000..3c1e17fc98 --- /dev/null +++ b/infra/bots/recipe_modules/sktest/example.expected/Test-Ubuntu16-Clang-NUC-GPU-IntelIris540-x86_64-Release.json @@ -0,0 +1,545 @@ +[ + { + "cmd": [ + "python", + "-u", + "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", + "[START_DIR]/skia/infra/bots/assets/skp/VERSION", + "/path/to/tmp/" + ], + "name": "Get downloaded SKP VERSION" + }, + { + "cmd": [ + "python", + "-u", + "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", + "42", + "[START_DIR]/tmp/SKP_VERSION" + ], + "name": "write SKP_VERSION" + }, + { + "cmd": [ + "python", + "-u", + "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", + "[START_DIR]/skia/infra/bots/assets/skimage/VERSION", + "/path/to/tmp/" + ], + "name": "Get downloaded skimage VERSION" + }, + { + "cmd": [ + "python", + "-u", + "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", + "42", + "[START_DIR]/tmp/SK_IMAGE_VERSION" + ], + "name": "write SK_IMAGE_VERSION" + }, + { + "cmd": [ + "python", + "-u", + "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", + "[START_DIR]/skia/infra/bots/assets/svg/VERSION", + "/path/to/tmp/" + ], + "name": "Get downloaded SVG VERSION" + }, + { + "cmd": [ + "python", + "-u", + "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", + "42", + "[START_DIR]/tmp/SVG_VERSION" + ], + "name": "write SVG_VERSION" + }, + { + "cmd": [ + "python", + "-u", + "\nimport os, sys\nfrom common import chromium_utils # Error? See https://crbug.com/584783.\n\n\nif os.path.exists(sys.argv[1]):\n chromium_utils.RemoveDirectory(sys.argv[1])\n", + "[CUSTOM_[SWARM_OUT_DIR]]/dm" + ], + "env": { + "PYTHONPATH": "[START_DIR]/skia/infra/bots/.recipe_deps/build/scripts" + }, + "name": "rmtree dm", + "~followup_annotations": [ + "@@@STEP_LOG_LINE@python.inline@@@@", + "@@@STEP_LOG_LINE@python.inline@import os, sys@@@", + "@@@STEP_LOG_LINE@python.inline@from common import chromium_utils # Error? See https://crbug.com/584783.@@@", + "@@@STEP_LOG_LINE@python.inline@@@@", + "@@@STEP_LOG_LINE@python.inline@@@@", + "@@@STEP_LOG_LINE@python.inline@if os.path.exists(sys.argv[1]):@@@", + "@@@STEP_LOG_LINE@python.inline@ chromium_utils.RemoveDirectory(sys.argv[1])@@@", + "@@@STEP_LOG_END@python.inline@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "\nimport sys, os\npath = sys.argv[1]\nmode = int(sys.argv[2])\nif not os.path.isdir(path):\n if os.path.exists(path):\n print \"%s exists but is not a dir\" % path\n sys.exit(1)\n os.makedirs(path, mode)\n", + "[CUSTOM_[SWARM_OUT_DIR]]/dm", + "511" + ], + "name": "makedirs dm", + "~followup_annotations": [ + "@@@STEP_LOG_LINE@python.inline@@@@", + "@@@STEP_LOG_LINE@python.inline@import sys, os@@@", + "@@@STEP_LOG_LINE@python.inline@path = sys.argv[1]@@@", + "@@@STEP_LOG_LINE@python.inline@mode = int(sys.argv[2])@@@", + "@@@STEP_LOG_LINE@python.inline@if not os.path.isdir(path):@@@", + "@@@STEP_LOG_LINE@python.inline@ if os.path.exists(path):@@@", + "@@@STEP_LOG_LINE@python.inline@ print \"%s exists but is not a dir\" % path@@@", + "@@@STEP_LOG_LINE@python.inline@ sys.exit(1)@@@", + "@@@STEP_LOG_LINE@python.inline@ os.makedirs(path, mode)@@@", + "@@@STEP_LOG_END@python.inline@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "\nimport sys, os\npath = sys.argv[1]\nmode = int(sys.argv[2])\nif not os.path.isdir(path):\n if os.path.exists(path):\n print \"%s exists but is not a dir\" % path\n sys.exit(1)\n os.makedirs(path, mode)\n", + "[START_DIR]/tmp", + "511" + ], + "name": "makedirs tmp_dir", + "~followup_annotations": [ + "@@@STEP_LOG_LINE@python.inline@@@@", + "@@@STEP_LOG_LINE@python.inline@import sys, os@@@", + "@@@STEP_LOG_LINE@python.inline@path = sys.argv[1]@@@", + "@@@STEP_LOG_LINE@python.inline@mode = int(sys.argv[2])@@@", + "@@@STEP_LOG_LINE@python.inline@if not os.path.isdir(path):@@@", + "@@@STEP_LOG_LINE@python.inline@ if os.path.exists(path):@@@", + "@@@STEP_LOG_LINE@python.inline@ print \"%s exists but is not a dir\" % path@@@", + "@@@STEP_LOG_LINE@python.inline@ sys.exit(1)@@@", + "@@@STEP_LOG_LINE@python.inline@ os.makedirs(path, mode)@@@", + "@@@STEP_LOG_END@python.inline@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "\nimport contextlib\nimport math\nimport socket\nimport sys\nimport time\nimport urllib2\n\nHASHES_URL = 'https://gold.skia.org/_/hashes'\nRETRIES = 5\nTIMEOUT = 60\nWAIT_BASE = 15\n\nsocket.setdefaulttimeout(TIMEOUT)\nfor retry in range(RETRIES):\n try:\n with contextlib.closing(\n urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:\n hashes = w.read()\n with open(sys.argv[1], 'w') as f:\n f.write(hashes)\n break\n except Exception as e:\n print 'Failed to get uninteresting hashes from %s:' % HASHES_URL\n print e\n if retry == RETRIES:\n raise\n waittime = WAIT_BASE * math.pow(2, retry)\n print 'Retry in %d seconds.' % waittime\n time.sleep(waittime)\n", + "[START_DIR]/tmp/uninteresting_hashes.txt" + ], + "cwd": "[START_DIR]/skia", + "env": { + "BUILDTYPE": "Release", + "CHROME_HEADLESS": "1", + "SKIA_OUT": "[START_DIR]/out" + }, + "name": "get uninteresting hashes", + "~followup_annotations": [ + "@@@STEP_LOG_LINE@python.inline@@@@", + "@@@STEP_LOG_LINE@python.inline@import contextlib@@@", + "@@@STEP_LOG_LINE@python.inline@import math@@@", + "@@@STEP_LOG_LINE@python.inline@import socket@@@", + "@@@STEP_LOG_LINE@python.inline@import sys@@@", + "@@@STEP_LOG_LINE@python.inline@import time@@@", + "@@@STEP_LOG_LINE@python.inline@import urllib2@@@", + "@@@STEP_LOG_LINE@python.inline@@@@", + "@@@STEP_LOG_LINE@python.inline@HASHES_URL = 'https://gold.skia.org/_/hashes'@@@", + "@@@STEP_LOG_LINE@python.inline@RETRIES = 5@@@", + "@@@STEP_LOG_LINE@python.inline@TIMEOUT = 60@@@", + "@@@STEP_LOG_LINE@python.inline@WAIT_BASE = 15@@@", + "@@@STEP_LOG_LINE@python.inline@@@@", + "@@@STEP_LOG_LINE@python.inline@socket.setdefaulttimeout(TIMEOUT)@@@", + "@@@STEP_LOG_LINE@python.inline@for retry in range(RETRIES):@@@", + "@@@STEP_LOG_LINE@python.inline@ try:@@@", + "@@@STEP_LOG_LINE@python.inline@ with contextlib.closing(@@@", + "@@@STEP_LOG_LINE@python.inline@ urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:@@@", + "@@@STEP_LOG_LINE@python.inline@ hashes = w.read()@@@", + "@@@STEP_LOG_LINE@python.inline@ with open(sys.argv[1], 'w') as f:@@@", + "@@@STEP_LOG_LINE@python.inline@ f.write(hashes)@@@", + "@@@STEP_LOG_LINE@python.inline@ break@@@", + "@@@STEP_LOG_LINE@python.inline@ except Exception as e:@@@", + "@@@STEP_LOG_LINE@python.inline@ print 'Failed to get uninteresting hashes from %s:' % HASHES_URL@@@", + "@@@STEP_LOG_LINE@python.inline@ print e@@@", + "@@@STEP_LOG_LINE@python.inline@ if retry == RETRIES:@@@", + "@@@STEP_LOG_LINE@python.inline@ raise@@@", + "@@@STEP_LOG_LINE@python.inline@ waittime = WAIT_BASE * math.pow(2, retry)@@@", + "@@@STEP_LOG_LINE@python.inline@ print 'Retry in %d seconds.' % waittime@@@", + "@@@STEP_LOG_LINE@python.inline@ time.sleep(waittime)@@@", + "@@@STEP_LOG_END@python.inline@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/skia/infra/bots/recipe_modules/core/resources/symbolize_stack_trace.py", + "[START_DIR]", + "[START_DIR]/out/Release/dm", + "--undefok", + "--resourcePath", + "[START_DIR]/skia/resources", + "--skps", + "[START_DIR]/skp", + "--images", + "[START_DIR]/skimage/dm", + "--colorImages", + "[START_DIR]/skimage/colorspace", + "--nameByHash", + "--properties", + "gitHash", + "abc123", + "master", + "client.skia", + "builder", + "Test-Ubuntu16-Clang-NUC-GPU-IntelIris540-x86_64-Release", + "build_number", + "5", + "--svgs", + "[START_DIR]/svg", + "--key", + "arch", + "x86_64", + "compiler", + "Clang", + "configuration", + "Release", + "cpu_or_gpu", + "GPU", + "cpu_or_gpu_value", + "IntelIris540", + "model", + "NUC", + "os", + "Ubuntu16", + "--uninterestingHashesFile", + "[START_DIR]/tmp/uninteresting_hashes.txt", + "--writePath", + "[CUSTOM_[SWARM_OUT_DIR]]/dm", + "--nocpu", + "--config", + "8888", + "srgb", + "gpu", + "gpudft", + "gpusrgb", + "pdf", + "serialize-8888", + "tiles_rt-8888", + "pic-8888", + "--src", + "tests", + "gm", + "image", + "colorImage", + "svg", + "--blacklist", + "gpusrgb", + "image", + "_", + "_", + "8888", + "image", + "_", + "_", + "serialize-8888", + "gm", + "_", + "bleed_image", + "serialize-8888", + "gm", + "_", + "c_gms", + "serialize-8888", + "gm", + "_", + "colortype", + "serialize-8888", + "gm", + "_", + "colortype_xfermodes", + "serialize-8888", + "gm", + "_", + "drawfilter", + "serialize-8888", + "gm", + "_", + "fontmgr_bounds_0.75_0", + "serialize-8888", + "gm", + "_", + "fontmgr_bounds_1_-0.25", + "serialize-8888", + "gm", + "_", + "fontmgr_bounds", + "serialize-8888", + "gm", + "_", + "fontmgr_match", + "serialize-8888", + "gm", + "_", + "fontmgr_iter", + "serialize-8888", + "gm", + "_", + "imagemasksubset", + "serialize-8888", + "gm", + "_", + "bitmapfilters", + "serialize-8888", + "gm", + "_", + "bitmapshaders", + "serialize-8888", + "gm", + "_", + "bleed", + "serialize-8888", + "gm", + "_", + "bleed_alpha_bmp", + "serialize-8888", + "gm", + "_", + "bleed_alpha_bmp_shader", + "serialize-8888", + "gm", + "_", + "convex_poly_clip", + "serialize-8888", + "gm", + "_", + "extractalpha", + "serialize-8888", + "gm", + "_", + "filterbitmap_checkerboard_32_32_g8", + "serialize-8888", + "gm", + "_", + "filterbitmap_image_mandrill_64", + "serialize-8888", + "gm", + "_", + "shadows", + "serialize-8888", + "gm", + "_", + "simpleaaclip_aaclip", + "serialize-8888", + "gm", + "_", + "composeshader_bitmap", + "serialize-8888", + "gm", + "_", + "scaled_tilemodes_npot", + "serialize-8888", + "gm", + "_", + "scaled_tilemodes", + "serialize-8888", + "gm", + "_", + "typefacerendering_pfaMac", + "serialize-8888", + "gm", + "_", + "parsedpaths", + "serialize-8888", + "gm", + "_", + "ImageGeneratorExternal_rect", + "serialize-8888", + "gm", + "_", + "ImageGeneratorExternal_shader", + "serialize-8888", + "gm", + "_", + "shadow_utils", + "serialize-8888", + "gm", + "_", + "bleed_alpha_image", + "serialize-8888", + "gm", + "_", + "bleed_alpha_image_shader", + "pic-8888", + "gm", + "_", + "drawfilter", + "pic-8888", + "gm", + "_", + "image-cacherator-from-picture", + "serialize-8888", + "gm", + "_", + "image-cacherator-from-picture", + "pic-8888", + "gm", + "_", + "image-cacherator-from-raster", + "serialize-8888", + "gm", + "_", + "image-cacherator-from-raster", + "pic-8888", + "gm", + "_", + "image-cacherator-from-ctable", + "serialize-8888", + "gm", + "_", + "image-cacherator-from-ctable", + "pic-8888", + "gm", + "_", + "gamut", + "serialize-8888", + "gm", + "_", + "gamut", + "pic-8888", + "gm", + "_", + "complexclip4_bw", + "serialize-8888", + "gm", + "_", + "complexclip4_bw", + "pic-8888", + "gm", + "_", + "complexclip4_aa", + "serialize-8888", + "gm", + "_", + "complexclip4_aa", + "tiles_rt-8888", + "gm", + "_", + "complexclip4_bw", + "tiles_rt-8888", + "gm", + "_", + "complexclip4_aa", + "_", + "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" + ], + "cwd": "[START_DIR]/skia", + "env": { + "BUILDTYPE": "Release", + "CHROME_HEADLESS": "1", + "LD_LIBRARY_PATH": "[START_DIR]/linux_vulkan_intel_driver_release", + "LIBGL_DRIVERS_PATH": "[START_DIR]/linux_vulkan_intel_driver_release", + "SKIA_OUT": "[START_DIR]/out" + }, + "name": "symbolized dm" + }, + { + "name": "$result", + "recipe_result": null, + "status_code": 0 + } +]
\ No newline at end of file diff --git a/infra/bots/recipe_modules/sktest/example.py b/infra/bots/recipe_modules/sktest/example.py index e835812534..85241808c0 100644 --- a/infra/bots/recipe_modules/sktest/example.py +++ b/infra/bots/recipe_modules/sktest/example.py @@ -42,6 +42,7 @@ TEST_BUILDERS = { 'Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-TSAN', 'Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind', 'Test-Ubuntu16-Clang-NUC-GPU-IntelIris540-x86_64-Debug-Vulkan', + 'Test-Ubuntu16-Clang-NUC-GPU-IntelIris540-x86_64-Release', 'Test-Win10-MSVC-NUC-GPU-IntelIris540-x86_64-Debug-ANGLE', 'Test-Win10-MSVC-ShuttleA-GPU-GTX660-x86_64-Debug-Vulkan', 'Test-Win10-MSVC-ZBOX-GPU-GTX1070-x86_64-Debug-Vulkan', |