// Generated by `regen-test-files`. Do not edit manually.

// Build rules for ART run-test `2233-checker-remove-loop-suspend-check`.

package {
    // See: http://go/android-license-faq
    // A large-scale-change added 'default_applicable_licenses' to import
    // all of the 'license_kinds' from "art_license"
    // to get the below license kinds:
    //   SPDX-license-identifier-Apache-2.0
    default_applicable_licenses: ["art_license"],
}

// Test's Dex code.
java_test {
    name: "art-run-test-2233-checker-remove-loop-suspend-check",
    defaults: ["art-run-test-defaults"],
    test_config_template: ":art-run-test-target-template",
    srcs: ["src/**/*.java"],
    data: [
        ":art-run-test-2233-checker-remove-loop-suspend-check-expected-stdout",
        ":art-run-test-2233-checker-remove-loop-suspend-check-expected-stderr",
    ],
    // Include the Java source files in the test's artifacts, to make Checker assertions
    // available to the TradeFed test runner.
    include_srcs: true,
}

// Test's expected standard output.
genrule {
    name: "art-run-test-2233-checker-remove-loop-suspend-check-expected-stdout",
    out: ["art-run-test-2233-checker-remove-loop-suspend-check-expected-stdout.txt"],
    srcs: ["expected-stdout.txt"],
    cmd: "cp -f $(in) $(out)",
}

// Test's expected standard error.
genrule {
    name: "art-run-test-2233-checker-remove-loop-suspend-check-expected-stderr",
    out: ["art-run-test-2233-checker-remove-loop-suspend-check-expected-stderr.txt"],
    srcs: ["expected-stderr.txt"],
    cmd: "cp -f $(in) $(out)",
}
