Introduce rtc_test_suite and rtc_cc_test 

rtc_cc_test represents a single test or a small collection of tests. It
generates both an rtc_library to be included in an rtc_test or
rtc_test_suite, as well as a standalone rtc_test to run those few tests.

rtc_test_suite represents a collection of tests and produces a binary
containing all tests.

An action is added to confirm that an rtc_cc_test is included in an
rtc_test_suite. If this is not the case, one may not compile the
standalone test binary for the unit test.

These new templates will replace the monolithic rtc_test/rtc_library
to allow for faster test execution. 

Bug: webrtc:498394143
Change-Id: Id3fb3108449bd9c73bc0e7f674d7a97f6a6a6964
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/461480
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#47352}
7 files changed
tree: c0af80d85711d54f997bcc2c4519f6fc04a9b2a3
  1. .agents/
  2. agents/
  3. api/
  4. audio/
  5. build_overrides/
  6. call/
  7. common_audio/
  8. common_video/
  9. data/
  10. docs/
  11. examples/
  12. experiments/
  13. g3doc/
  14. infra/
  15. logging/
  16. media/
  17. modules/
  18. net/
  19. p2p/
  20. pc/
  21. resources/
  22. rtc_base/
  23. rtc_tools/
  24. sdk/
  25. stats/
  26. system_wrappers/
  27. test/
  28. tools_webrtc/
  29. video/
  30. .clang-format
  31. .clang-tidy
  32. .git-blame-ignore-revs
  33. .gitignore
  34. .gn
  35. .mailmap
  36. .rustfmt.toml
  37. .style.yapf
  38. .vpython3
  39. .yapfignore
  40. AUTHORS
  41. BUILD.gn
  42. CODE_OF_CONDUCT.md
  43. codereview.settings
  44. DEPS
  45. DIR_METADATA
  46. ENG_REVIEW_OWNERS
  47. GEMINI.md
  48. LICENSE
  49. license_template.txt
  50. native-api.md
  51. OWNERS
  52. OWNERS_INFRA
  53. PATENTS
  54. PRESUBMIT.py
  55. presubmit_test.py
  56. presubmit_test_mocks.py
  57. pylintrc
  58. pylintrc_old_style
  59. README.chromium
  60. README.md
  61. unsafe_buffers_paths.txt
  62. WATCHLISTS
  63. webrtc.gni
  64. webrtc_lib_link_test.cc
  65. whitespace.txt
README.md

WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.

Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.

The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.

Development

See here for instructions on how to get started developing with the native code.

Authoritative list of directories that contain the native API header files.

More info