skia2/modules
Kevin Lubick a2d3958e1f [bazel] Make custom karma_test rule
Run the tests in headless mode and output the logs
bazel test :hello_world --test_output=all

Start up a visible web browser with the karma test driver
(need to go to Debug tab to actually run tests)
bazel run :hello_world

Suggested review order
 - package.json to see the karma dependencies to run
   jasmine tests on chrome and firefox.
 - WORKSPACE.bazel to see how the packages listed in
   package.json and package-lock.json are downloaded
   into the Bazel sandbox/cache via the npm_install rule.
   As mentioned in the package.json comment, the version
   of build_bazel_rules_nodejs which emscripten uses [1]
   is 4.4.1 and if we tried to install it ourselves, that
   installation will be ignored. We also bring in hermetic
   browsers via io_bazel_rules_webtesting.
 - bazel/karma_test.bzl which defines a new rule _karma_test
   and a macro karma_test which joins the new rule with
   an existing web_test rule to run it on a hermetic browser
   which Bazel downloads. This rule takes heavy inspiration
   from @bazel/concatjs [2], but is much simpler and lets us
   configure more things (e.g. proxies, so we can work with
   test_on_env).
 - karma.bazel.js, which is a pretty ordinary looking karma
   configuration file [2] with effectively a JS macro
   BAZEL_APPLY_SETTINGS. JS doesn't have a preprocessor or
   actual macros, but this string will be replaced by the
   JS code in karma_test.bzl which will set correct filepaths
   for Bazel content.
 - All other files.

[1] c33c7be17f/bazel/deps.bzl (L10)
[2] 700b7a3c5f/packages/concatjs/web_test/karma_web_test.bzl (L318)
[3] http://karma-runner.github.io/6.3/config/configuration-file.html
Change-Id: Id64c0a86d6be37d627762cef0beaaf23ad390ac1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/509717
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2022-02-23 14:53:01 +00:00
..
androidkit Remove isOpaque from SkRuntimeEffect::makeShader signature 2022-02-11 16:05:01 +00:00
audioplayer implement SkAudioPLayer for Android 2020-12-15 00:12:48 +00:00
canvaskit [bazel] Make custom karma_test rule 2022-02-23 14:53:01 +00:00
particles [bazel] Compile gms for wasm and WebGL 2022-02-09 18:56:17 +00:00
pathkit Reland "Build CanvasKit using GN/Ninja" 2022-02-15 16:31:10 +00:00
skottie [canvaskit] Rename some CK-specific defines 2022-02-15 22:42:17 +00:00
skparagraph Fixing getRectForRange in case with ellipsis 2022-02-22 18:43:20 +00:00
skplaintexteditor Reland "Add format-specifier warnings to SkDebugf." 2021-06-25 17:57:43 +00:00
skresources [canvaskit] Add skottie to Bazel build 2022-02-04 19:18:27 +00:00
sksg Prepare to reenable unreachable-code warnings. 2022-02-04 21:45:39 +00:00
skshaper rename fontID to typefaceID 2022-02-07 20:12:39 +00:00
skunicode Avoid scanning for bidi levels if the paragraph is unidirectional 2022-01-06 17:39:50 +00:00
svg Implement SkTLazy using std::optional 2022-02-01 19:51:21 +00:00
BUILD.bazel [infra] Experiment generating BUILD.bazel files 2021-11-23 18:53:16 +00:00