Add rules_cros test rules and emulation toolchain

Add emulation toolchain and test rules to run basic "Hello World"
binaries for rules_cros toolchain verfication.  rules_cros_(cc|rust)_test
rules run the CC and Rust binaries against an individual platform;
rules_cros_toolchain_test fans out to run rules_cros_(cc|rust)_test tests
against all platforms.

BUG=b:217770417
TEST=`bazel-5 test //test:rules_cros_platforms_test`

Change-Id: I415f260fbbd13fb1b9c850cee8f3daa61afc63a6
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/rules_cros/+/3442709
Reviewed-by: Chris McDonald <cjmcdonald@chromium.org>
Tested-by: Sloan Johnson <sloanjohnson@google.com>
9 files changed
tree: fa6c00ec93555088ff4d1294286c26cc9f660e49
  1. cros/
  2. test/
  3. .bazelrc
  4. .gitignore
  5. common.bazelrc
  6. DIR_METADATA
  7. LICENSE
  8. OWNERS
  9. README.md
  10. run_tests.sh
  11. WORKSPACE
  12. WORKSPACE.cros
README.md

Chrome OS Bazel Rules

Overview

This repository provides common rules and configuration for Bazel projects in Chrome OS.

Usage

rules_cros is only expected to function inside the Chrome OS SDK. You may copy the following snippet into your WORKSPACE file and fix up the relative path in local_repository to point from your project to where rules_cros is checked out.

local_repository(
    name = "rules_cros",
    path = "../src/platform/rules_cros",
)

load("@rules_cros//cros:repositories.bzl", "rules_cros_dependencies")

rules_cros_dependencies()

You will also need to symlink .bazelrc in the root of your project to common.bazelrc in this repo. You can put additional settings in a file named user.bazelrc in the root of your WORKSPACE and it will automatically be imported by common.bazelrc.

Documentation

The code is this directory is experimental and under active development. Stability and functionality is not guaranteed :)