// This file is generated by cargo2android.py --run --device --tests.
// Do not modify this file as changes will be overridden on upgrade.



rust_library {
    name: "libos_str_bytes",
    host_supported: true,
    crate_name: "os_str_bytes",
    cargo_env_compat: true,
    cargo_pkg_version: "6.1.0",
    srcs: ["src/lib.rs"],
    edition: "2021",
    features: [
        "default",
        "memchr",
        "raw_os_str",
    ],
    rustlibs: [
        "libmemchr",
    ],
    apex_available: [
        "//apex_available:platform",
        "//apex_available:anyapex",
    ],
}

rust_test {
    name: "os_str_bytes_test_src_lib",
    host_supported: true,
    crate_name: "os_str_bytes",
    cargo_env_compat: true,
    cargo_pkg_version: "6.1.0",
    srcs: ["src/lib.rs"],
    test_suites: ["general-tests"],
    auto_gen_config: true,
    test_options: {
        unit_test: true,
    },
    edition: "2021",
    features: [
        "default",
        "memchr",
        "raw_os_str",
    ],
    rustlibs: [
        "libgetrandom",
        "libmemchr",
    ],
}

rust_defaults {
    name: "os_str_bytes_test_defaults",
    crate_name: "os_str_bytes",
    cargo_env_compat: true,
    cargo_pkg_version: "6.1.0",
    test_suites: ["general-tests"],
    auto_gen_config: true,
    edition: "2021",
    features: [
        "default",
        "memchr",
        "raw_os_str",
    ],
    rustlibs: [
        "libgetrandom",
        "libmemchr",
        "libos_str_bytes",
    ],
}

rust_test {
    name: "os_str_bytes_test_tests_debug",
    defaults: ["os_str_bytes_test_defaults"],
    host_supported: true,
    srcs: ["tests/debug.rs"],
    test_options: {
        unit_test: true,
    },
}

rust_test {
    name: "os_str_bytes_test_tests_edge_cases",
    defaults: ["os_str_bytes_test_defaults"],
    host_supported: true,
    srcs: ["tests/edge_cases.rs"],
    test_options: {
        unit_test: true,
    },
}

rust_test {
    name: "os_str_bytes_test_tests_index",
    defaults: ["os_str_bytes_test_defaults"],
    host_supported: true,
    srcs: ["tests/index.rs"],
    test_options: {
        unit_test: true,
    },
}

rust_test {
    name: "os_str_bytes_test_tests_integration",
    defaults: ["os_str_bytes_test_defaults"],
    host_supported: true,
    srcs: ["tests/integration.rs"],
    test_options: {
        unit_test: true,
    },
}

rust_test {
    name: "os_str_bytes_test_tests_random",
    defaults: ["os_str_bytes_test_defaults"],
    host_supported: true,
    srcs: ["tests/random.rs"],
    test_options: {
        unit_test: true,
    },
}

rust_test {
    name: "os_str_bytes_test_tests_raw",
    defaults: ["os_str_bytes_test_defaults"],
    host_supported: true,
    srcs: ["tests/raw.rs"],
    test_options: {
        unit_test: true,
    },
}
