acab911351
In order to extract the PNG files produced by our CanvasKit gms, we need our JS tests to POST them to a server which can write to disk. The easiest way to do this is to use the test_on_env rule defined in the Skia Infra repo for exactly this purpose. This required https://skia-review.googlesource.com/c/buildbot/+/510717 to be able to configure the binary correctly and https://skia-review.googlesource.com/c/buildbot/+/511862, for nicer debugging so the skia-infra dep was updated via the following commands: $ go get go.skia.org/infra@d8a552a29e $ go mod download $ make -C infra/bots train $ make -C bazel gazelle_update_repo This caused many automated changes to infra/bots/tasks.json The flow is: 1. User types bazelisk test :hello_world_test_with_env 2. The test_on_env rule starts gold_test_env and waits for the file defined in $ENV_READY_FILE to be created. 3. gold_test_env starts a web server on a random port. It writes this port number to $ENV_DIR/port. Then, it creates $ENV_READY_FILE to signal ready. 4. test_on_env sees the ready file and then starts the karma_test rule. (Reminder: this is a bash script which starts karma using the Bazel-bundled chromium). 5. The karma_test rule runs the karma.bazel.js file (which has been injected with some JS code to fill in Bazel paths and settings) using Bazel-bundled node. This reads in the port file and sets up a Karma proxy to redirect /gold_rpc/report to http://localhost:PORT/report 6. The JS tests run via Karma (and do assertions via Jasmine). Some tests, the gms, make POST requests to the proxy. 7. gold_test_env gets these POST requests writes the images to a special Bazel folder on disk as defined by $TEST_UNDECLARED_OUTPUTS_DIR. 8. test_on_env identifies that the tests finish (because the karma_test script returns 0). It sends SIGINT to gold_test_env. 9. gold_test_env stops the webserver. The special Bazel folder will zip up anything inside it and make it available for future rules (e.g. a rule that will upload to Gold via goldctl). Suggested Review Order: - bazel/karma_test.bzl to see the test_on_env rule bundled into the karma_test macro. I chose to put it there because it might be confusing to have to define both a karma_test and test_on_env rule in the same package but not be able to call one because it will fail to talk to the server. - gold_test_env.go to see how the appropriate files are written to signal the environment is ready and the handlers are set up. - karma.bazel.js to see how we make our own proxy given the port from the env binary. The fact that we could not create our own proxy with the existing karma_test rule was why the chain ending in https://skia-review.googlesource.com/c/skia/+/508797 had to be abandoned. - tests/*.js to see how the environment is probed via /healthz and then used to make POST requests with data. - Everything else. Change-Id: I32a90def41796ca94cf187d640cfff8e262f85f6 BUG: skia:12541 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/510737 Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
549 lines
12 KiB
Python
549 lines
12 KiB
Python
load("//bazel:macros.bzl", "generated_cc_atom")
|
|
|
|
generated_cc_atom(
|
|
name = "GrContext_Base_hdr",
|
|
hdrs = ["GrContext_Base.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
"//include/core:SkRefCnt_hdr",
|
|
"//include/gpu:GrBackendSurface_hdr",
|
|
"//include/gpu:GrContextOptions_hdr",
|
|
"//include/gpu:GrTypes_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "GrD3DTypesMinimal_hdr",
|
|
hdrs = ["GrD3DTypesMinimal.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
"//include/core:SkRefCnt_hdr",
|
|
"//include/gpu:GrTypes_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "GrDawnTypesPriv_hdr",
|
|
hdrs = ["GrDawnTypesPriv.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = ["//include/gpu/dawn:GrDawnTypes_hdr"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "GrGLTypesPriv_hdr",
|
|
hdrs = ["GrGLTypesPriv.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
"//include/core:SkRefCnt_hdr",
|
|
"//include/gpu/gl:GrGLTypes_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "GrImageContext_hdr",
|
|
hdrs = ["GrImageContext.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
":GrContext_Base_hdr",
|
|
":SingleOwner_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "GrMockTypesPriv_hdr",
|
|
hdrs = ["GrMockTypesPriv.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = ["//include/gpu/mock:GrMockTypes_hdr"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "GrMtlTypesPriv_hdr",
|
|
hdrs = ["GrMtlTypesPriv.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
"//include/gpu:GrTypes_hdr",
|
|
"//include/gpu/mtl:GrMtlTypes_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "GrTypesPriv_hdr",
|
|
hdrs = ["GrTypesPriv.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
":SkImageInfoPriv_hdr",
|
|
":SkMacros_hdr",
|
|
"//include/core:SkImageInfo_hdr",
|
|
"//include/core:SkImage_hdr",
|
|
"//include/core:SkPath_hdr",
|
|
"//include/core:SkRefCnt_hdr",
|
|
"//include/gpu:GrTypes_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "GrVkTypesPriv_hdr",
|
|
hdrs = ["GrVkTypesPriv.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
"//include/core:SkRefCnt_hdr",
|
|
"//include/gpu/vk:GrVkTypes_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkBitmaskEnum_hdr",
|
|
hdrs = ["SkBitmaskEnum.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkChecksum_hdr",
|
|
hdrs = ["SkChecksum.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
":SkNoncopyable_hdr",
|
|
":SkOpts_spi_hdr",
|
|
":SkTLogic_hdr",
|
|
"//include/core:SkString_hdr",
|
|
"//include/core:SkTypes_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkColorData_hdr",
|
|
hdrs = ["SkColorData.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
":SkNx_hdr",
|
|
":SkTo_hdr",
|
|
"//include/core:SkColorPriv_hdr",
|
|
"//include/core:SkColor_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkDeque_hdr",
|
|
hdrs = ["SkDeque.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = ["//include/core:SkTypes_hdr"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkEncodedInfo_hdr",
|
|
hdrs = ["SkEncodedInfo.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
"//include/core:SkData_hdr",
|
|
"//include/core:SkImageInfo_hdr",
|
|
"//include/third_party/skcms:skcms_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkFixed_hdr",
|
|
hdrs = ["SkFixed.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
":SkSafe_math_hdr",
|
|
":SkTPin_hdr",
|
|
":SkTo_hdr",
|
|
"//include/core:SkScalar_hdr",
|
|
"//include/core:SkTypes_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkFloatBits_hdr",
|
|
hdrs = ["SkFloatBits.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
":SkSafe_math_hdr",
|
|
"//include/core:SkTypes_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkFloatingPoint_hdr",
|
|
hdrs = ["SkFloatingPoint.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
":SkFloatBits_hdr",
|
|
":SkSafe_math_hdr",
|
|
"//include/core:SkTypes_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkHalf_hdr",
|
|
hdrs = ["SkHalf.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
":SkNx_hdr",
|
|
"//include/core:SkTypes_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkIDChangeListener_hdr",
|
|
hdrs = ["SkIDChangeListener.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
":SkMutex_hdr",
|
|
":SkTDArray_hdr",
|
|
"//include/core:SkRefCnt_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkImageInfoPriv_hdr",
|
|
hdrs = ["SkImageInfoPriv.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
"//include/core:SkColor_hdr",
|
|
"//include/core:SkImageInfo_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkMacros_hdr",
|
|
hdrs = ["SkMacros.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkMalloc_hdr",
|
|
hdrs = ["SkMalloc.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = ["//include/core:SkTypes_hdr"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkMutex_hdr",
|
|
hdrs = ["SkMutex.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
":SkMacros_hdr",
|
|
":SkSemaphore_hdr",
|
|
":SkThreadAnnotations_hdr",
|
|
":SkThreadID_hdr",
|
|
"//include/core:SkTypes_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkNoncopyable_hdr",
|
|
hdrs = ["SkNoncopyable.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = ["//include/core:SkTypes_hdr"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkNx_hdr",
|
|
hdrs = ["SkNx.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
":SkNx_neon_hdr",
|
|
":SkNx_sse_hdr",
|
|
":SkSafe_math_hdr",
|
|
"//include/core:SkScalar_hdr",
|
|
"//include/core:SkTypes_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkNx_neon_hdr",
|
|
hdrs = ["SkNx_neon.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkNx_sse_hdr",
|
|
hdrs = ["SkNx_sse.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = ["//include/core:SkTypes_hdr"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkOnce_hdr",
|
|
hdrs = ["SkOnce.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [":SkThreadAnnotations_hdr"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkOpts_spi_hdr",
|
|
hdrs = ["SkOpts_spi.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = ["//include/core:SkTypes_hdr"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkPathRef_hdr",
|
|
hdrs = ["SkPathRef.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
":SkIDChangeListener_hdr",
|
|
":SkMutex_hdr",
|
|
":SkTDArray_hdr",
|
|
":SkTemplates_hdr",
|
|
":SkTo_hdr",
|
|
"//include/core:SkMatrix_hdr",
|
|
"//include/core:SkPoint_hdr",
|
|
"//include/core:SkRRect_hdr",
|
|
"//include/core:SkRect_hdr",
|
|
"//include/core:SkRefCnt_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkSLDefines_hdr",
|
|
hdrs = ["SkSLDefines.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
":SkTArray_hdr",
|
|
"//include/core:SkTypes_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkSLIRNode_hdr",
|
|
hdrs = ["SkSLIRNode.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
":SkSLString_hdr",
|
|
":SkTArray_hdr",
|
|
"//src/sksl:SkSLLexer_hdr",
|
|
"//src/sksl:SkSLModifiersPool_hdr",
|
|
"//src/sksl:SkSLPool_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkSLLayout_hdr",
|
|
hdrs = ["SkSLLayout.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [":SkSLString_hdr"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkSLModifiers_hdr",
|
|
hdrs = ["SkSLModifiers.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [":SkSLLayout_hdr"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkSLProgramElement_hdr",
|
|
hdrs = ["SkSLProgramElement.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [":SkSLIRNode_hdr"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkSLProgramKind_hdr",
|
|
hdrs = ["SkSLProgramKind.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkSLSampleUsage_hdr",
|
|
hdrs = ["SkSLSampleUsage.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = ["//include/core:SkTypes_hdr"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkSLStatement_hdr",
|
|
hdrs = ["SkSLStatement.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
":SkSLIRNode_hdr",
|
|
":SkSLSymbol_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkSLString_hdr",
|
|
hdrs = ["SkSLString.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [":SkSLDefines_hdr"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkSLSymbol_hdr",
|
|
hdrs = ["SkSLSymbol.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
":SkSLIRNode_hdr",
|
|
":SkSLProgramElement_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkSafe32_hdr",
|
|
hdrs = ["SkSafe32.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = ["//include/core:SkTypes_hdr"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkSafe_math_hdr",
|
|
hdrs = ["SkSafe_math.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkSemaphore_hdr",
|
|
hdrs = ["SkSemaphore.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
":SkOnce_hdr",
|
|
":SkThreadAnnotations_hdr",
|
|
"//include/core:SkTypes_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkShadowFlags_hdr",
|
|
hdrs = ["SkShadowFlags.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkSpinlock_hdr",
|
|
hdrs = ["SkSpinlock.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
":SkThreadAnnotations_hdr",
|
|
"//include/core:SkTypes_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkTArray_hdr",
|
|
hdrs = ["SkTArray.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
":SkMalloc_hdr",
|
|
":SkSafe32_hdr",
|
|
":SkTLogic_hdr",
|
|
":SkTemplates_hdr",
|
|
":SkTo_hdr",
|
|
"//include/core:SkMath_hdr",
|
|
"//include/core:SkTypes_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkTDArray_hdr",
|
|
hdrs = ["SkTDArray.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
":SkMalloc_hdr",
|
|
":SkTo_hdr",
|
|
"//include/core:SkTypes_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkTFitsIn_hdr",
|
|
hdrs = ["SkTFitsIn.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkTHash_hdr",
|
|
hdrs = ["SkTHash.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
":SkChecksum_hdr",
|
|
":SkTemplates_hdr",
|
|
"//include/core:SkTypes_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkTLogic_hdr",
|
|
hdrs = ["SkTLogic.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [":SkTo_hdr"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkTPin_hdr",
|
|
hdrs = ["SkTPin.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkTemplates_hdr",
|
|
hdrs = ["SkTemplates.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
":SkMalloc_hdr",
|
|
":SkTLogic_hdr",
|
|
"//include/core:SkTypes_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkThreadAnnotations_hdr",
|
|
hdrs = ["SkThreadAnnotations.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkThreadID_hdr",
|
|
hdrs = ["SkThreadID.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = ["//include/core:SkTypes_hdr"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkTo_hdr",
|
|
hdrs = ["SkTo.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
":SkTFitsIn_hdr",
|
|
"//include/core:SkTypes_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkVx_hdr",
|
|
hdrs = ["SkVx.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkWeakRefCnt_hdr",
|
|
hdrs = ["SkWeakRefCnt.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = ["//include/core:SkRefCnt_hdr"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkUniquePaintParamsID_hdr",
|
|
hdrs = ["SkUniquePaintParamsID.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = ["//include/core:SkTypes_hdr"],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SingleOwner_hdr",
|
|
hdrs = ["SingleOwner.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
deps = [
|
|
":SkMutex_hdr",
|
|
":SkThreadID_hdr",
|
|
"//include/core:SkTypes_hdr",
|
|
],
|
|
)
|
|
|
|
generated_cc_atom(
|
|
name = "SkStringView_hdr",
|
|
hdrs = ["SkStringView.h"],
|
|
visibility = ["//:__subpackages__"],
|
|
)
|