summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/g3doc/add-new-test-binary.md
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /third_party/libwebrtc/g3doc/add-new-test-binary.md
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/libwebrtc/g3doc/add-new-test-binary.md')
-rw-r--r--third_party/libwebrtc/g3doc/add-new-test-binary.md33
1 files changed, 33 insertions, 0 deletions
diff --git a/third_party/libwebrtc/g3doc/add-new-test-binary.md b/third_party/libwebrtc/g3doc/add-new-test-binary.md
new file mode 100644
index 0000000000..177c212b89
--- /dev/null
+++ b/third_party/libwebrtc/g3doc/add-new-test-binary.md
@@ -0,0 +1,33 @@
+# Add a new test binary
+
+This page lists all the steps needed in order to add an `rtc_test` target to
+WebRTC's BUILD.gn files and ensure the test binary will run on the presubmit and
+postsubmit infrastructure.
+
+1. While working on your CL, add an `rtc_test` target, with `testonly = true`,
+ and `../test:test_main` among its dependencies (`rtc_test` targets require
+ a `main()` function).
+
+2. Add the newly created `rtc_test` target to the `group("default")` target in
+ the root [BUILD.gn](https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/BUILD.gn).
+ The target needs to be added within the `rtc_include_tests` section.
+
+3. Add the name of the newly created `rtc_test` into
+ [infra/specs/gn_isolate_map.pyl](https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/infra/specs/gn_isolate_map.pyl).
+
+4. Add the name of the newly created `rtc_test` into
+ [infra/specs/test_suites.pyl](https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/infra/specs/test_suites.pyl).
+ By default, you should add it to the `android_tests`, `desktop_tests` and
+ `ios_simulator_tests` sections.
+
+5. Run the script
+ [infra/specs/generate_buildbot_json.py](https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/infra/specs/generate_buildbot_json.py)
+ (no arguments) to generate the JSON scripts based on the previsouly modified .pyl scripts.
+
+6. Build, test, review and submit!
+
+The bots will execute the new configs as part of the CQ. Inspect some logs to
+verify that your test is in fact executed by the bots where you expect them to be.
+
+The details of the (many) config files are described in
+https://chromium.googlesource.com/chromium/src/testing/+/HEAD/buildbot/README.md.