//
// Copyright (C) 2016 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

// ART gtests.

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"],
    default_team: "trendy_team_art_performance",
}

// Properties common to `art_test_defaults` and `art_standalone_test_defaults`.
cc_defaults {
    name: "art_test_common_defaults",
    defaults: ["art_defaults"],

    // Override flags from art_defaults:
    cflags: [
        // gmock.h has incorrect unused markers.
        "-Wno-used-but-marked-unused",
        // gtest.h compares signed and unsigned.
        "-Wno-sign-compare",
        // gtest.h includes cxxabi.h which fails on this check.
        "-Wno-deprecated-dynamic-exception-spec",
    ],

    target: {
        darwin: {
            enabled: false,
        },
        // This has to be duplicated for android and host to make sure it
        // comes after the -Wframe-larger-than warnings inserted by art.go
        // target-specific properties
        android: {
            cflags: ["-Wno-frame-larger-than="],
        },
        host: {
            cflags: [
                "-Wno-frame-larger-than=",
                "-fsanitize-address-use-after-return=never",
                "-Wno-unused-command-line-argument",
            ],
        },
    },
}

cc_defaults {
    name: "art_test_defaults",
    defaults: [
        "art_test_common_defaults",
    ],
    host_supported: true,
    target: {
        // The following set of relative_install_paths installs the library in a
        // location that will be available as java.library.path in run tests.
        android_arm: {
            relative_install_path: "art/arm",
        },
        android_arm64: {
            relative_install_path: "art/arm64",
        },
        android_riscv64: {
            relative_install_path: "art/riscv64",
        },
        android_x86: {
            relative_install_path: "art/x86",
        },
        android_x86_64: {
            relative_install_path: "art/x86_64",
        },
    },
}

// Variant of art_test_defaults for test libraries that installs them in a
// location which will be added to the default namespace, and hence also the
// com_android_art namespace. That allows them to have shared_libs
// dependencies on all ART internal libraries.
//
// Currently this only works for run tests where run-test-jar sets
// LD_LIBRARY_PATH and NATIVELOADER_DEFAULT_NAMESPACE_LIBS.
art_cc_defaults {
    name: "art_test_internal_library_defaults",
    defaults: ["art_test_defaults"],
    target: {
        android_arm: {
            relative_install_path: "com.android.art/lib",
        },
        android_arm64: {
            relative_install_path: "com.android.art/lib64",
        },
        android_riscv64: {
            relative_install_path: "com.android.art/lib64",
        },
        android_x86: {
            relative_install_path: "com.android.art/lib",
        },
        android_x86_64: {
            relative_install_path: "com.android.art/lib64",
        },
    },
}

// Test configuration template for standalone ART gtests on target (not bundled with the ART APEX).
filegroup {
    name: "art-gtests-target-standalone-template",
    srcs: ["art-gtests-target-standalone-template.xml"],
}

// Test configuration template for standalone ART gtests on target (not bundled with the ART APEX)
// which are part of CTS and MCTS.
filegroup {
    name: "art-gtests-target-standalone-cts-template",
    srcs: ["art-gtests-target-standalone-cts-template.xml"],
}

// Test configuration template for standalone ART gtests on target (not bundled with the ART APEX)
// which don't support multilib.
filegroup {
    name: "art-gtests-target-standalone-non-multilib-template",
    srcs: ["art-gtests-target-standalone-non-multilib-template.xml"],
}

// Test configuration template for standalone ART gtests run with a boot image on target (not
// bundled with the ART APEX).
filegroup {
    name: "art-gtests-target-standalone-with-boot-image-template",
    srcs: ["art-gtests-target-standalone-with-boot-image-template.xml"],
}

// Version script for `art_standalone_test_defaults`.
filegroup {
    name: "art-standalone-test-version",
    srcs: ["art-standalone-test-version.map"],
}

// Version script for `art_standalone_gtest_defaults`. In particular, it adds
// libsigchain's libc.so interceptors.
filegroup {
    name: "art-standalone-gtest-version",
    srcs: ["art-standalone-gtest-version.map"],
}

// When soong builds the tests in a sandbox, the targets of symlinks
// must be declared as inputs to soong modules that use them, or else
// it will be a dangling symlink in the sandbox.
filegroup {
    name: "test_build_symlink_targets",
    srcs: [
        "jvmti-common/*.java",
        "1953-pop-frame/src/art/SuspendEvents.java",
        "1953-pop-frame/src/art/Test1953.java",
        "993-breakpoints/src/art/Test993.java",
        "988-method-trace/src/art/Test988.java",
        "988-method-trace/src/art/Test988Intrinsics.java",
    ],
    visibility: [
        "//art/test:__subpackages__",
    ],
}

cc_library_static {
    name: "standalone_test_lib_check",
    srcs: ["standalone_test_lib_check.cc"],
    header_libs: ["art_libartbase_headers"],
    static_libs: [
        "libbase",
        "libelf",
        "libgmock",
        "libgtest",
    ],
}

// Defaults for tests that can run using atest against an ART APEX installed on
// any supported platform. These tests can only depend on NDK libraries from
// platform and exported module libraries. Any other libraries must be pushed
// with the test or linked statically.
art_cc_defaults {
    name: "art_standalone_test_defaults",
    defaults: [
        "art_test_common_defaults",
        "elfutils_transitive_defaults", // For libelf
    ],
    // Standalone ART gtests are only supported on device for now.
    // TODO: Add support for host standalone ART gtests. Note that they should not differ much
    // from the original ("non-standalone") host gtests, as the latter are not really bundled with
    // the host ART APEX / artifacts (unlike their device counterparts); but as we plan to remove
    // the ART gtests bundled with the ART APEX, we'll have to support the host case here
    // eventually.
    host_supported: false,
    test_config_template: ":art-gtests-target-standalone-template",

    // Support multilib variants (using different suffix per sub-architecture),
    // which is needed on build targets with secondary architectures, as the
    // CTS/MCTS/MTS/etc. test suite packaging logic may flatten all test artifacts
    // into a single `testcases` directory. Also, there is CI testing that
    // expects 64-bit multilib test suites to work for 32-bit devices
    // (b/233550842).
    compile_multilib: "both",
    multilib: {
        lib32: {
            suffix: "32",
        },
        lib64: {
            suffix: "64",
        },
    },

    min_sdk_version: "31", // Same as the ART APEX.

    // Link libc++ statically to avoid needing the system libc++.so, which may
    // be incompatible. The linker exports symbols from an executable that are
    // referenced in the .dynsym tables of shared object dependencies, so use a
    // version script to restrict exports. The version script is needed for
    // hiding symbols from libc++ (either libc++_static.a or vaguely-linked
    // symbols in other object files) and from other libraries, such as libbase.
    stl: "libc++_static",
    version_script: ":art-standalone-test-version",

    // Make standalone tests check their own NEEDED dependencies for disallowed
    // libraries. Add standalone_test_lib_check and its dependencies, except
    // libgtest which is expected to be added by the tests.
    whole_static_libs: [
        "libbase",
        "libelf",
        "libgmock",
        "standalone_test_lib_check",
    ],
}

// Properties common to `art_gtest_defaults` and `art_standalone_gtest_defaults`.
art_cc_defaults {
    name: "art_gtest_common_defaults",
    // These really are gtests, but the gtest library comes from `libart(d)-gtest.so`.
    gtest: false,

    header_libs: [
        "libnativeloader-headers",
        // The full libnativehelper library has wrappers for the JNI APIs (e.g.
        // `JNI_CreateJavaVM`) that are implemented in libart(d), so it
        // shouldn't be linked into the tests where libart(d) is linked
        // statically.
        "libnativehelper_header_only",
    ],
    target: {
        android: {
            shared_libs: [
                // Dependencies of `libart(d)`, that are not included in *static_defaults.
                "libdl_android",
                "libstatspull",
                "libstatssocket",
                "heapprofd_client_api",
            ],
        },
        host: {
            cflags: [
                "-fsanitize-address-use-after-return=never",
                "-Wno-unused-command-line-argument",
            ],
        },
        linux: {
            ldflags: [
                // Allow jni_compiler_test to find Java_MyClassNatives_bar
                // within itself using dlopen(NULL, ...).
                // Mac OS linker doesn't understand --export-dynamic.
                "-Wl,--export-dynamic",
                "-Wl,-u,Java_MyClassNatives_bar",
                "-Wl,-u,Java_MyClassNatives_sbar",
            ],
            cflags: [
                // gtest issue
                "-Wno-used-but-marked-unused",
                "-Wno-deprecated",
                "-Wno-missing-noreturn",
            ],
        },
        // Library search path needed for running host tests in CI (from testcases directory).
        linux_glibc_x86: {
            ldflags: [
                "-Wl,-rpath,$ORIGIN/../../art_common/out/host/linux-x86/lib",
                "-Wl,--enable-new-dtags",
            ],
        },
        linux_glibc_x86_64: {
            ldflags: [
                "-Wl,-rpath,$ORIGIN/../../art_common/out/host/linux-x86/lib64",
                "-Wl,--enable-new-dtags",
            ],
        },
    },
    static_libs: [
        "libartbase-testing",
        // `libsigchain` must be static linked into gtests, otherwise some tests fail under
        // ASAN. ASAN init uses sigaction, which makes `libsigchain.so` initialize earlier than
        // required and breaks `environ` variable in gtest.
        // `libsigchain` is not whole-static-linked into `libart(d)-gtest`, because hiding its
        // symbols with `--exclude-libs` breaks art_standalone_sigchain_tests.
        "libsigchain",
    ],
}

art_cc_defaults {
    name: "art_gtest_defaults",
    defaults: [
        "art_test_defaults", // Must be first to make the -Wno-* overrides work.
        "art_debug_defaults",
        "art_gtest_common_defaults",
        "libartd-gtest_static_defaults",
    ],
    target: {
        host: {
            test_suites: ["art-host-tests"],
        },
    },
    test_options: {
        test_suite_tag: ["art-host-gtest"],
    },
    // Reduce test executable size by disabling automatic export of static lib symbols.
    // Don't use --exclude-libs=ALL, because it breaks tests under ASAN by hiding __asan* symbols.
    ldflags: [
        "-Wl,--exclude-libs=libartd-gtest.a",
    ],
}

art_cc_defaults {
    name: "art_standalone_gtest_defaults",

    defaults: [
        // Note: We don't include "art_debug_defaults" here, as standalone ART
        // gtests link with the "non-d" versions of the libraries contained in
        // the ART APEX, so that they can be used with all ART APEX flavors
        // (including the Release ART APEX).
        "art_standalone_test_defaults",
        "art_gtest_common_defaults",

        // This dependency links the whole runtime statically into the test. Note that the boot
        // classpath is not (normally) bundled with the test, so if the runtime is used to actually
        // start a VM it may load the boot classpath from the device. Depending on the test
        // configuration, that may not be in sync with the statically linked runtime.
        "libart-gtest_static_defaults",
    ],

    test_suites: [
        "general-tests",
        "mts-art",
    ],

    // Support multilib variants (using different suffix per sub-architecture), which is needed on
    // build targets with secondary architectures, as the MTS test suite packaging logic flattens
    // all test artifacts into a single `testcases` directory.
    compile_multilib: "both",
    multilib: {
        lib32: {
            suffix: "32",
        },
        lib64: {
            suffix: "64",
        },
    },

    version_script: ":art-standalone-gtest-version",
}

art_cc_defaults {
    name: "libart-gtest-defaults",
    defaults: [
        "art_defaults",
    ],
    host_supported: true,
    shared_libs: [
        "liblog",
    ],
    static_libs: [
        "libgtest_isolated",
    ],
    target: {
        host: {
            cflags: [
                "-fsanitize-address-use-after-return=never",
                "-Wno-unused-command-line-argument",
            ],
        },
        android32: {
            cflags: ["-DART_TARGET_NATIVETEST_DIR=/data/nativetest/art"],
        },
        android64: {
            cflags: ["-DART_TARGET_NATIVETEST_DIR=/data/nativetest64/art"],
        },
        linux: {
            cflags: [
                // gtest issue
                "-Wno-used-but-marked-unused",
                "-Wno-deprecated",
                "-Wno-missing-noreturn",
            ],
        },
        darwin: {
            enabled: false,
        },
    },
}

// Properties common to `libart-gtest` and `libartd-gtest`.
cc_defaults {
    name: "libart-gtest-common",
    defaults: [
        "art_defaults",
    ],
    host_supported: true,
    srcs: [
        "common/gtest_main.cc",
    ],
    header_libs: [
        "libart_headers",
        "libnativehelper_header_only",
    ],
    whole_static_libs: [
        "libgtest_isolated",
    ],
    shared_libs: [ // Since we're building static libs we're only using the headers from these.
        "libdexfile",
        "liblog",
    ],
    target: {
        host: {
            cflags: [
                "-fsanitize-address-use-after-return=never",
                "-Wno-unused-command-line-argument",
            ],
        },
        darwin: {
            enabled: false,
        },
    },
}

cc_library_static {
    name: "libart-gtest",
    defaults: [
        "libart-gtest-common",
    ],
}

cc_defaults {
    name: "libart-gtest_static_defaults",
    defaults: [
        "libart-compiler-gtest_static_defaults",
        "libart-runtime-gtest_static_defaults",
        "libartbase-art-gtest_static_defaults",
        "libdexfile_static_defaults",
    ],
    whole_static_libs: [
        "libart-gtest",
    ],
}

art_cc_library_static {
    name: "libartd-gtest",
    defaults: [
        "art_debug_defaults",
        "libart-gtest-common",
    ],
}

cc_defaults {
    name: "libartd-gtest_static_defaults",
    defaults: [
        "libartbased-art-gtest_static_defaults",
        "libartd-compiler-gtest_static_defaults",
        "libartd-runtime-gtest_static_defaults",
        "libdexfiled_static_defaults",
    ],
    whole_static_libs: [
        "libartd-gtest",
    ],
}

// ART run-tests.

// Test configuration template for ART run-tests on target expected to run
// successfully, and as such tagged as part of TradeFed's `art-target-run-test`
// test suite via the `test-suite-tag`.
filegroup {
    name: "art-run-test-target-template",
    srcs: [
        "art-run-test-target-template.xml",
    ],
}

// Same as `art-run-test-target-template`, but with a longer timeout.
filegroup {
    name: "art-run-test-target-slow-template",
    srcs: [
        "art-run-test-target-slow-template.xml",
    ],
}

// Same as `art-run-test-target-template`, but contains additional
// options to also make the test part of CTS and MCTS.
filegroup {
    name: "art-run-test-target-cts-template",
    srcs: [
        "art-run-test-target-cts-template.xml",
    ],
}

// Test configuration template for ART run-tests on target expected to run
// successfully, and as such *not* tagged as part of TradeFed's
// `art-target-run-test` test suite via the `test-suite-tag`. This is as
// temporary measure, while we add proper support for all ART (target) run-tests
// to TradeFed (b/147818031).
filegroup {
    name: "art-run-test-target-no-test-suite-tag-template",
    srcs: [
        "art-run-test-target-no-test-suite-tag-template.xml",
    ],
}

java_defaults {
    name: "art-run-test-defaults",

    // Compile against the "core" bootclasspath, not the "default" one (current
    // platform) -- use the same settings as Libcore tests (see e.g. the
    // definition of module `core-tests` in libcore/JavaLibrary.bp).
    //
    // Note: The legacy way to build ART run-tests uses the
    // `javac_with_bootclasspath` function defined in `test/etc/default-build`.
    // See also `tools/javac-helper.sh`.
    sdk_version: "none",
    system_modules: "core-all-system-modules",

    // Some ART run-tests contain constructs which break ErrorProne checks;
    // disable `errorprone` builds.
    errorprone: {
        enabled: false,
    },
    test_suites: [
        "general-tests",
    ],
    host_required: [
        "art-run-test-checker",
    ],
    min_sdk_version: "31",

    compile_data: [
        ":test_build_symlink_targets",
    ],
}

art_cc_defaults {
    name: "libnativebridgetest-defaults",
    defaults: ["art_test_defaults"],
    header_libs: ["libnativebridge-headers"],
    srcs: ["115-native-bridge/nativebridge.cc"],
}

art_cc_test_library {
    name: "libnativebridgetest",
    shared_libs: ["libart"],
    defaults: [
        "libnativebridgetest-defaults",
    ],
}

art_cc_test_library {
    name: "libnativebridgetestd",
    shared_libs: ["libartd"],
    defaults: [
        "libnativebridgetest-defaults",
        "art_debug_defaults",
    ],
}

// ART JVMTI run-tests.

cc_defaults {
    name: "libartagent-defaults",
    defaults: ["art_test_internal_library_defaults"],
    shared_libs: [
        "libbase",
        "liblog",
        "libnativehelper",
    ],
}

art_cc_test_library {
    name: "libartagent",
    srcs: ["900-hello-plugin/load_unload.cc"],
    defaults: ["libartagent-defaults"],
    shared_libs: [
        "libart",
        "libdexfile",
        "libprofile",
        "libartbase",
    ],
}

art_cc_test_library {
    name: "libartagentd",
    srcs: ["900-hello-plugin/load_unload.cc"],
    defaults: [
        "art_debug_defaults",
        "libartagent-defaults",
    ],
    shared_libs: [
        "libartd",
        "libdexfiled",
        "libprofiled",
        "libartbased",
    ],
}

art_cc_defaults {
    name: "libtiagent-base-defaults",
    defaults: ["art_test_internal_library_defaults"],
    srcs: [
        // These are the ART-independent parts.
        "ti-agent/agent_common.cc",
        "ti-agent/agent_startup.cc",
        "ti-agent/jni_binder.cc",
        "ti-agent/jvmti_helper.cc",
        "ti-agent/test_env.cc",
        "ti-agent/breakpoint_helper.cc",
        "ti-agent/common_helper.cc",
        "ti-agent/early_return_helper.cc",
        "ti-agent/frame_pop_helper.cc",
        "ti-agent/locals_helper.cc",
        "ti-agent/monitors_helper.cc",
        "ti-agent/redefinition_helper.cc",
        "ti-agent/suspension_helper.cc",
        "ti-agent/suspend_event_helper.cc",
        "ti-agent/stack_trace_helper.cc",
        "ti-agent/threads_helper.cc",
        "ti-agent/trace_helper.cc",
        "ti-agent/exceptions_helper.cc",
        // This is the list of non-special OnLoad things and excludes BCI and anything that depends
        // on ART internals.
        "903-hello-tagging/tagging.cc",
        "904-object-allocation/tracking.cc",
        "905-object-free/tracking_free.cc",
        "906-iterate-heap/iterate_heap.cc",
        "907-get-loaded-classes/get_loaded_classes.cc",
        "908-gc-start-finish/gc_callbacks.cc",
        "910-methods/methods.cc",
        "911-get-stack-trace/stack_trace.cc",
        "912-classes/classes.cc",
        "913-heaps/heaps.cc",
        "918-fields/fields.cc",
        "920-objects/objects.cc",
        "922-properties/properties.cc",
        "923-monitors/monitors.cc",
        "924-threads/threads.cc",
        "925-threadgroups/threadgroups.cc",
        "927-timers/timers.cc",
        "928-jni-table/jni_table.cc",
        "929-search/search.cc",
        "931-agent-thread/agent_thread.cc",
        "933-misc-events/misc_events.cc",
        "945-obsolete-native/obsolete_native.cc",
        "983-source-transform-verify/source_transform.cc",
        "984-obsolete-invoke/obsolete_invoke.cc",
        "986-native-method-bind/native_bind.cc",
        "987-agent-bind/agent_bind.cc",
        "988-method-trace/trace_fib.cc",
        "989-method-trace-throw/method_trace.cc",
        "991-field-trace-2/field_trace.cc",
        "992-source-data/source_file.cc",
        "993-breakpoints/breakpoints.cc",
        "993-breakpoints-non-debuggable/onload.cc",
        "996-breakpoint-obsolete/obsolete_breakpoints.cc",
        "1900-track-alloc/alloc.cc",
        "1901-get-bytecodes/bytecodes.cc",
        "1905-suspend-native/native_suspend.cc",
        "1908-suspend-native-resume-self/native_suspend_resume.cc",
        "1909-per-agent-tls/agent_tls.cc",
        "1914-get-local-instance/local_instance.cc",
        "1919-vminit-thread-start-timing/vminit.cc",
        "1920-suspend-native-monitor/native_suspend_monitor.cc",
        "1921-suspend-native-recursive-monitor/native_suspend_recursive_monitor.cc",
        "1922-owned-monitors-info/owned_monitors.cc",
        "1924-frame-pop-toggle/frame_pop_toggle.cc",
        "1926-missed-frame-pop/frame_pop_missed.cc",
        "1927-exception-event/exception_event.cc",
        "1930-monitor-info/monitor.cc",
        "1932-monitor-events-misc/monitor_misc.cc",
        "1934-jvmti-signal-thread/signal_threads.cc",
        "1939-proxy-frames/local_instance.cc",
        "1940-ddms-ext/ddm_ext.cc",
        "1941-dispose-stress/dispose_stress.cc",
        "1942-suspend-raw-monitor-exit/native_suspend_monitor.cc",
        "1943-suspend-raw-monitor-wait/native_suspend_monitor.cc",
        "1946-list-descriptors/descriptors.cc",
        "1950-unprepared-transform/unprepared_transform.cc",
        "1951-monitor-enter-no-suspend/raw_monitor.cc",
        "1953-pop-frame/pop_frame.cc",
        "1957-error-ext/lasterror.cc",
        // TODO Renumber
        "1962-multi-thread-events/multi_thread_events.cc",
        "1963-add-to-dex-classloader-in-memory/add_to_loader.cc",
        "1968-force-early-return/force_early_return.cc",
        "1969-force-early-return-void/force_early_return_void.cc",
        "1970-force-early-return-long/force_early_return_long.cc",
        "1974-resize-array/resize_array.cc",
        "1975-hello-structural-transformation/structural_transform.cc",
        "1976-hello-structural-static-methods/structural_transform_methods.cc",
        "2005-pause-all-redefine-multithreaded/pause-all.cc",
        "2009-structural-local-ref/local-ref.cc",
        "2035-structural-native-method/structural-native.cc",
        "2243-single-step-default/single_step_helper.cc",
    ],
    // Use NDK-compatible headers for ctstiagent.
    header_libs: [
        "libopenjdkjvmti_headers",
    ],
    local_include_dirs: ["ti-agent"],
}

art_cc_defaults {
    name: "libtiagent-defaults",
    defaults: [
        "libtiagent-base-defaults",
        "libartagent-defaults",
    ],
    srcs: [
        // This is to get the IsInterpreted native method.
        "common/stack_inspect.cc",
        "common/runtime_state.cc",
        "ti-agent/common_load.cc",
        // This includes the remaining test functions. We should try to refactor things to
        // make this list smaller.
        "901-hello-ti-agent/basics.cc",
        "909-attach-agent/attach.cc",
        "912-classes/classes_art.cc",
        "936-search-onload/search_onload.cc",
        "980-redefine-object/redef_object.cc",
        "983-source-transform-verify/source_transform_art.cc",
        "993-breakpoints-non-debuggable/native_attach_agent.cc",
        // "1952-pop-frame-jit/pop_frame.cc",
        "1959-redefine-object-instrument/fake_redef_object.cc",
        "1960-obsolete-jit-multithread-native/native_say_hi.cc",
        "1964-add-to-dex-classloader-file/add_to_loader.cc",
        "2012-structural-redefinition-failures-jni-id/set-jni-id-used.cc",
        "2031-zygote-compiled-frame-deopt/native-wait.cc",
        "2038-hiddenapi-jvmti-ext/hiddenapi_ext.cc",
    ],
    static_libs: [
        "libz",
        "slicer_no_rtti",
    ],
}

art_cc_test_library {
    name: "libtiagent",
    defaults: ["libtiagent-defaults"],
    shared_libs: [
        "libart",
        "libdexfile#impl",
        "libprofile",
        "libartbase",
    ],
}

art_cc_test_library {
    name: "libtiagentd",
    defaults: [
        "art_debug_defaults",
        "libtiagent-defaults",
    ],
    shared_libs: [
        "libartd",
        "libdexfiled#impl",
        "libprofiled",
        "libartbased",
    ],
}

cc_library_static {
    name: "libctstiagent",
    defaults: ["libtiagent-base-defaults"],

    // TODO(b/187288515): Providing this as a prebuilt introduces an issue with
    // sdk_version propagation. Temporarily use the source library instead,
    // which means we need to override the logic inherited from art_defaults and
    // art_test_internal_library_defaults that disables sources when not
    // building ART from sources.
    enabled: true,

    visibility: [
        "//cts/hostsidetests/jvmti:__subpackages__",
    ],
    host_supported: false,
    srcs: [
        "983-source-transform-verify/source_transform_slicer.cc",
    ],
    whole_static_libs: [
        "slicer_ndk_no_rtti",
    ],
    static_libs: [
        "libbase_ndk",
    ],
    shared_libs: [
        "libz", // for slicer (using adler32).
    ],
    sdk_version: "current",
    stl: "c++_static",
    header_libs: ["jni_headers"],
    export_include_dirs: ["ti-agent"],
}

art_cc_defaults {
    name: "libtistress-srcs",
    defaults: ["libartagent-defaults"],
    srcs: [
        "ti-stress/stress.cc",
    ],
    header_libs: ["libopenjdkjvmti_headers"],
}

art_cc_defaults {
    name: "libtistress-defaults",
    defaults: ["libtistress-srcs"],
    shared_libs: [
        "slicer_no_rtti",
        "libz", // for slicer (using adler32).
    ],
}

art_cc_test_library {
    name: "libtistress",
    defaults: ["libtistress-defaults"],
    shared_libs: [
        "libartbase",
        "libz",
    ],
}

art_cc_test_library {
    name: "libtistressd",
    defaults: [
        "art_debug_defaults",
        "libtistress-defaults",
    ],
    shared_libs: [
        "libartbased",
        "libz",
    ],
}

art_cc_defaults {
    name: "libtistress-shared-defaults",
    defaults: [
        "libtistress-srcs",
    ],
    static_libs: ["slicer_no_rtti"],
}

art_cc_test_library {
    name: "libtistresss",
    defaults: ["libtistress-shared-defaults"],
    shared_libs: [
        "libartbase",
        "libz",
    ],
}

art_cc_test_library {
    name: "libtistressds",
    defaults: [
        "libtistress-shared-defaults",
    ],
    shared_libs: [
        "libartbased",
        "libz",
    ],
}

cc_defaults {
    name: "libarttest-defaults",
    defaults: ["art_test_internal_library_defaults"],
    srcs: [
        "004-JniTest/jni_test.cc",
        "004-ReferenceMap/stack_walk_refmap_jni.cc",
        "004-SignalTest/signaltest.cc",
        "004-StackWalk/stack_walk_jni.cc",
        "004-ThreadStress/thread_stress.cc",
        "004-UnsafeTest/unsafe_test.cc",
        "044-proxy/native_proxy.cc",
        "051-thread/thread_test.cc",
        "1337-gc-coverage/gc_coverage.cc",
        "136-daemon-jni-shutdown/daemon_jni_shutdown.cc",
        "137-cfi/cfi.cc",
        "139-register-natives/regnative.cc",
        "141-class-unload/jni_unload.cc",
        "148-multithread-gc-annotations/gc_coverage.cc",
        "149-suspend-all-stress/suspend_all.cc",
        "154-gc-loop/heap_interface.cc",
        "167-visit-locks/visit_locks.cc",
        "169-threadgroup-jni/jni_daemon_thread.cc",
        "172-app-image-twice/debug_print_class.cc",
        "177-visibly-initialized-deadlock/visibly_initialized.cc",
        "178-app-image-native-method/native_methods.cc",
        "179-nonvirtual-jni/nonvirtual-call.cc",
        "1945-proxy-method-arguments/get_args.cc",
        "203-multi-checkpoint/multi_checkpoint.cc",
        "305-other-fault-handler/fault_handler.cc",
        "454-get-vreg/get_vreg_jni.cc",
        "457-regs/regs_jni.cc",
        "461-get-reference-vreg/get_reference_vreg_jni.cc",
        "466-get-live-vreg/get_live_vreg_jni.cc",
        "497-inlining-and-class-loader/clear_dex_cache.cc",
        "543-env-long-ref/env_long_ref.cc",
        "566-polymorphic-inlining/polymorphic_inline.cc",
        "595-profile-saving/profile-saving.cc",
        "596-app-images/app_images.cc",
        "596-monitor-inflation/monitor_inflation.cc",
        "597-deopt-new-string/deopt.cc",
        "616-cha-unloading/cha_unload.cc",
        "626-const-class-linking/clear_dex_cache_types.cc",
        "642-fp-callees/fp_callees.cc",
        "647-jni-get-field-id/get_field_id.cc",
        "656-annotation-lookup-generic-jni/test.cc",
        "661-oat-writer-layout/oat_writer_layout.cc",
        "664-aget-verifier/aget-verifier.cc",
        "667-jit-jni-stub/jit_jni_stub_test.cc",
        "674-hiddenapi/core.cc",
        "692-vdex-inmem-loader/vdex_inmem_loader.cc",
        "712-varhandle-invocations/jni_direct_buffer.cc",
        "720-thread-priority/thread_priority.cc",
        "800-smali/jni.cc",
        "817-hiddenapi/libarttest_api.cc",
        "855-native/throws_exception.cc",
        "909-attach-agent/disallow_debugging.cc",
        "993-breakpoints-non-debuggable/native_attach_agent.cc",
        "1001-app-image-regions/app_image_regions.cc",
        "1002-notify-startup/startup_interface.cc",
        "1947-breakpoint-redefine-deopt/check_deopt.cc",
        "1972-jni-id-swap-indices/jni_id.cc",
        "1985-structural-redefine-stack-scope/stack_scope.cc",
        "2011-stack-walk-concurrent-instrument/stack_walk_concurrent.cc",
        "2031-zygote-compiled-frame-deopt/native-wait.cc",
        "2033-shutdown-mechanics/native_shutdown.cc",
        "2036-jni-filechannel/jni_filechannel.cc",
        "2037-thread-name-inherit/thread_name_inherit.cc",
        "2040-huge-native-alloc/huge_native_buf.cc",
        "2048-bad-native-registry/native_finalizer.cc",
        "2235-JdkUnsafeTest/unsafe_test.cc",
        "2237-checker-simulator/checker_simulator_jni.cc",
        "2246-trace-v2/dump_trace.cc",
        "2262-miranda-methods/jni_invoke.cc",
        "2270-mh-internal-hiddenapi-use/mh-internal-hidden-api.cc",
        "2275-pthread-name/native_getname.cc",
        "2392-virtual-thread-pinning-jni/jni.cc",
        "2400-setstaticfield-uninitialized/jni.cc",
        "common/runtime_state.cc",
        "common/stack_inspect.cc",
    ],
    shared_libs: [
        "libbase",
        "liblog",
        "libnativehelper",
        "libunwindstack",
    ],
    target: {
        android: {
            header_libs: ["libnativeloader-headers"],
            shared_libs: ["libdl_android"],
        },
    },
}

art_cc_test_library {
    name: "libarttest",
    defaults: ["libarttest-defaults"],
    shared_libs: [
        "libart",
        "libdexfile#impl",
        "libprofile",
        "libartbase",
    ],
}

art_cc_test_library {
    name: "libarttestd",
    defaults: [
        "art_debug_defaults",
        "libarttest-defaults",
    ],
    shared_libs: [
        "libartd",
        "libdexfiled#impl",
        "libprofiled",
        "libartbased",
    ],
}

// "External" native code for run tests. Unlike libarttest(d), this library is
// not installed in the com_android_art namespace, so it cannot access ART
// internals. It's instead installed in a location that will be available as
// java.library.path in run tests, and it can call functions in
// libarttest(d).so.
cc_defaults {
    name: "libarttest_external-defaults",
    defaults: ["art_test_defaults"],
    srcs: [
        "674-hiddenapi/app.cc",
        "817-hiddenapi/test_native.cc",
        "common/libarttest_external.cc",
    ],
    shared_libs: [
        "libbase",
        "liblog",
        "libnativehelper",
    ],
}

art_cc_test_library {
    name: "libarttest_external",
    defaults: ["libarttest_external-defaults"],
    shared_libs: ["libarttest"],
}

art_cc_test_library {
    name: "libarttestd_external",
    defaults: [
        "art_debug_defaults",
        "libarttest_external-defaults",
    ],
    shared_libs: ["libarttestd"],
}

java_library {
    name: "art_cts_jvmti_test_library",
    visibility: [
        "//art:__subpackages__",
        "//cts/hostsidetests/jvmti:__subpackages__",
    ],
    javacflags: ["-g"],
    srcs: [
        // shim classes. We use one that exposes the common functionality.
        "jvmti-common/Redefinition.java",
        "jvmti-common/Main.java",
        "jvmti-common/Trace.java",
        "jvmti-common/Breakpoint.java",
        "jvmti-common/Suspension.java",
        "jvmti-common/Locals.java",
        "jvmti-common/StackTrace.java",
        "jvmti-common/FramePop.java",
        "jvmti-common/Exceptions.java",
        "jvmti-common/Monitors.java",
        "jvmti-common/NonStandardExit.java",
        "jvmti-common/Threads.java",
        "jvmti-common/SuspendEvents.java",

        // Actual test classes.
        "901-hello-ti-agent/src/art/Test901.java",
        "902-hello-transformation/src/art/Test902.java",
        "903-hello-tagging/src/art/Test903.java",
        "904-object-allocation/src/art/Test904.java",
        "905-object-free/src/art/Test905.java",
        "906-iterate-heap/src/art/Test906.java",
        "907-get-loaded-classes/src/art/Test907.java",
        "907-get-loaded-classes/src/art/Cerr.java",
        "908-gc-start-finish/src/art/Test908.java",
        "910-methods/src/art/Test910.java",
        "911-get-stack-trace/src/art/Test911.java",
        "911-get-stack-trace/src/art/AllTraces.java",
        "911-get-stack-trace/src/art/ControlData.java",
        "911-get-stack-trace/src/art/Frames.java",
        "911-get-stack-trace/src/art/OtherThread.java",
        "911-get-stack-trace/src/art/PrintThread.java",
        "911-get-stack-trace/src/art/Recurse.java",
        "911-get-stack-trace/src/art/SameThread.java",
        "911-get-stack-trace/src/art/ThreadListTraces.java",
        "912-classes/src-art/art/Test912.java",
        "912-classes/src-art/art/DexData.java",
        "913-heaps/src/art/Test913.java",
        "914-hello-obsolescence/src/art/Test914.java",
        "915-obsolete-2/src/art/Test915.java",
        "917-fields-transformation/src/art/Test917.java",
        "918-fields/src/art/Test918.java",
        "919-obsolete-fields/src/art/Test919.java",
        "920-objects/src/art/Test920.java",
        "922-properties/src/art/Test922.java",
        "923-monitors/src/art/Test923.java",
        "924-threads/src/art/Test924.java",
        "925-threadgroups/src/art/Test925.java",
        "926-multi-obsolescence/src/art/Test926.java",
        "927-timers/src/art/Test927.java",
        "928-jni-table/src/art/Test928.java",
        "930-hello-retransform/src/art/Test930.java",
        "931-agent-thread/src/art/Test931.java",
        "932-transform-saves/src/art/Test932.java",
        "933-misc-events/src/art/Test933.java",
        "940-recursive-obsolete/src/art/Test940.java",
        "942-private-recursive/src/art/Test942.java",
        "944-transform-classloaders/src/art/Test944.java",
        "945-obsolete-native/src/art/Test945.java",
        "947-reflect-method/src/art/Test947.java",
        "951-threaded-obsolete/src/art/Test951.java",
        "982-ok-no-retransform/src/art/Test982.java",
        "983-source-transform-verify/src/art/Test983.java",
        "984-obsolete-invoke/src/art/Test984.java",
        "985-re-obsolete/src/art/Test985.java",
        "986-native-method-bind/src/art/Test986.java",
        "988-method-trace/src/art/Test988.java",
        "988-method-trace/src/art/Test988Intrinsics.java",
        "989-method-trace-throw/src/art/Test989.java",
        "990-field-trace/src/art/Test990.java",
        "991-field-trace-2/src/art/Test991.java",
        "992-source-data/src/art/Test992.java",
        "992-source-data/src/art/Target2.java",
        "993-breakpoints/src/art/Test993.java",
        "993-breakpoints-non-debuggable/src/art/Test993AttachAgent.java",
        "994-breakpoint-line/src/art/Test994.java",
        "995-breakpoints-throw/src/art/Test995.java",
        "996-breakpoint-obsolete/src/art/Test996.java",
        "997-single-step/src/art/Test997.java",
        "1900-track-alloc/src/art/Test1900.java",
        "1901-get-bytecodes/src/art/Test1901.java",
        "1902-suspend/src/art/Test1902.java",
        "1903-suspend-self/src/art/Test1903.java",
        "1904-double-suspend/src/art/Test1904.java",
        "1906-suspend-list-me-first/src/art/Test1906.java",
        "1907-suspend-list-self-twice/src/art/Test1907.java",
        "1908-suspend-native-resume-self/src/art/Test1908.java",
        "1909-per-agent-tls/src/art/Test1909.java",
        "1910-transform-with-default/src/art/Test1910.java",
        "1911-get-local-var-table/src/art/Test1911.java",
        "1912-get-set-local-primitive/src/art/Test1912.java",
        "1913-get-set-local-objects/src/art/Test1913.java",
        "1914-get-local-instance/src/art/Test1914.java",
        "1915-get-set-local-current-thread/src/art/Test1915.java",
        "1916-get-set-current-frame/src/art/Test1916.java",
        "1917-get-stack-frame/src/art/Test1917.java",
        "1920-suspend-native-monitor/src/art/Test1920.java",
        "1921-suspend-native-recursive-monitor/src/art/Test1921.java",
        "1922-owned-monitors-info/src/art/Test1922.java",
        "1923-frame-pop/src/art/Test1923.java",
        "1924-frame-pop-toggle/src/art/Test1924.java",
        "1925-self-frame-pop/src/art/Test1925.java",
        "1926-missed-frame-pop/src/art/Test1926.java",
        "1927-exception-event/src/art/Test1927.java",
        "1928-exception-event-exception/src/art/Test1928.java",
        "1930-monitor-info/src/art/Test1930.java",
        "1931-monitor-events/src/art/Test1931.java",
        "1932-monitor-events-misc/src/art/Test1932.java",
        "1933-monitor-current-contended/src/art/Test1933.java",
        "1934-jvmti-signal-thread/src/art/Test1934.java",
        "1936-thread-end-events/src/art/Test1936.java",
        "1937-transform-soft-fail/src/art/Test1937.java",
        "1939-proxy-frames/src/art/Test1939.java",
        "1940-ddms-ext/src-art/art/Test1940.java",
        "1941-dispose-stress/src/art/Test1941.java",
        "1942-suspend-raw-monitor-exit/src/art/Test1942.java",
        "1943-suspend-raw-monitor-wait/src/art/Test1943.java",
        "1953-pop-frame/src/art/Test1953.java",
        "1958-transform-try-jit/src/art/Test1958.java",
        "1962-multi-thread-events/src/art/Test1962.java",
        "1963-add-to-dex-classloader-in-memory/src/art/Test1963.java",
        "1967-get-set-local-bad-slot/src/art/Test1967.java",
        "1968-force-early-return/src/art/Test1968.java",
        "1969-force-early-return-void/src/art/Test1969.java",
        "1970-force-early-return-long/src/art/Test1970.java",
        "1971-multi-force-early-return/src/art/Test1971.java",
        "1974-resize-array/src/art/Test1974.java",
        "1975-hello-structural-transformation/src/art/Test1975.java",
        "1975-hello-structural-transformation/src/art/Transform1975.java",
        "1976-hello-structural-static-methods/src/art/Test1976.java",
        "1976-hello-structural-static-methods/src/art/Transform1976.java",
        "1977-hello-structural-obsolescence/src/art/Test1977.java",
        "1978-regular-obsolete-then-structural-obsolescence/src/art/Test1978.java",
        "1979-threaded-structural-transformation/src/art/Test1979.java",
        "1981-structural-redef-private-method-handles/src/art/Test1981.java",
        // TODO Requires VarHandles to be un-@hide. See b/64382372
        // "1981-structural-redef-private-method-handles/src/art/Test1981_Varhandles.java",
        "1982-no-virtuals-structural-redefinition/src/art/Test1982.java",
        "1983-structural-redefinition-failures/src/art/Test1983.java",
        "1984-structural-redefine-field-trace/src/art/Test1984.java",
        "1988-multi-structural-redefine/src/art/Test1988.java",
        "1989-transform-bad-monitor/src/art/Test1989.java",
        "1990-structural-bad-verify/src/art/Test1990.java",
        "1991-hello-structural-retransform/src/art/Test1991.java",
        "1992-retransform-no-such-field/src/art/Test1992.java",
        "1994-final-virtual-structural/src/art/Test1994.java",
        "1995-final-virtual-structural-multithread/src/art/Test1995.java",
        "1996-final-override-virtual-structural/src/art/Test1996.java",
        "1997-structural-shadow-method/src/art/Test1997.java",
        "1998-structural-shadow-field/src/art/Test1998.java",
        "1999-virtual-structural/src/art/Test1999.java",
        "2001-virtual-structural-multithread/src-art/art/Test2001.java",
        "2002-virtual-structural-initializing/src-art/art/Test2002.java",
        "2003-double-virtual-structural/src/art/Test2003.java",
        "2004-double-virtual-structural-abstract/src/art/Test2004.java",
        "2005-pause-all-redefine-multithreaded/src/art/Test2005.java",
        "2006-virtual-structural-finalizing/src-art/art/Test2006.java",
        "2007-virtual-structural-finalizable/src-art/art/Test2007.java",
    ],
    sdk_version: "core_platform",
    // Make sure that this will be added to the sdk snapshot for S.
    min_sdk_version: "S",
    // Some ART run-tests contain constructs which break ErrorProne checks;
    // disable `errorprone` builds.
    errorprone: {
        enabled: false,
    },
}

// CTS test runner in cts/hostsidetests/jvmti looks for an expected test
// result for the test NN in the file results.NN.expected.txt while in the
// source tree each expected test result is in the NN-xxxx/expected-stdout.txt.
// Copy+rename them them to a temporary directory and them zip them.
java_genrule {
    name: "expected_cts_outputs_gen",
    srcs: [
        "901-hello-ti-agent/expected-stdout.txt",
        "902-hello-transformation/expected-stdout.txt",
        "903-hello-tagging/expected-stdout.txt",
        "904-object-allocation/expected-stdout.txt",
        "905-object-free/expected-stdout.txt",
        "906-iterate-heap/expected-stdout.txt",
        "907-get-loaded-classes/expected-stdout.txt",
        "908-gc-start-finish/expected-stdout.txt",
        "910-methods/expected-stdout.txt",
        "911-get-stack-trace/expected-cts-version.txt",
        "912-classes/expected-stdout.txt",
        "913-heaps/expected-stdout.txt",
        "914-hello-obsolescence/expected-stdout.txt",
        "915-obsolete-2/expected-stdout.txt",
        "917-fields-transformation/expected-stdout.txt",
        "918-fields/expected-stdout.txt",
        "919-obsolete-fields/expected-stdout.txt",
        "920-objects/expected-stdout.txt",
        "922-properties/expected-stdout.txt",
        "923-monitors/expected-stdout.txt",
        "924-threads/expected-stdout.txt",
        "925-threadgroups/expected-stdout.txt",
        "926-multi-obsolescence/expected-stdout.txt",
        "927-timers/expected-stdout.txt",
        "928-jni-table/expected-stdout.txt",
        "930-hello-retransform/expected-stdout.txt",
        "931-agent-thread/expected-stdout.txt",
        "932-transform-saves/expected-stdout.txt",
        "933-misc-events/expected-stdout.txt",
        "940-recursive-obsolete/expected-stdout.txt",
        "942-private-recursive/expected-stdout.txt",
        "944-transform-classloaders/expected-stdout.txt",
        "945-obsolete-native/expected-stdout.txt",
        "947-reflect-method/expected-stdout.txt",
        "951-threaded-obsolete/expected-stdout.txt",
        "982-ok-no-retransform/expected-stdout.txt",
        "983-source-transform-verify/expected-stdout.txt",
        "984-obsolete-invoke/expected-stdout.txt",
        "985-re-obsolete/expected-stdout.txt",
        "986-native-method-bind/expected-stdout.txt",
        "988-method-trace/expected-stdout.txt",
        "989-method-trace-throw/expected-stdout.txt",
        "990-field-trace/expected-stdout.txt",
        "991-field-trace-2/expected-stdout.txt",
        "992-source-data/expected-stdout.txt",
        // Need to avoid using hidden-apis
        "993-breakpoints/expected_cts.txt",
        "993-breakpoints-non-debuggable/expected_cts.txt",
        "994-breakpoint-line/expected-stdout.txt",
        "995-breakpoints-throw/expected-stdout.txt",
        "996-breakpoint-obsolete/expected-stdout.txt",
        "997-single-step/expected-stdout.txt",
        "1900-track-alloc/expected-stdout.txt",
        "1901-get-bytecodes/expected-stdout.txt",
        "1902-suspend/expected-stdout.txt",
        "1903-suspend-self/expected-stdout.txt",
        "1904-double-suspend/expected-stdout.txt",
        "1906-suspend-list-me-first/expected-stdout.txt",
        "1907-suspend-list-self-twice/expected-stdout.txt",
        "1908-suspend-native-resume-self/expected-stdout.txt",
        "1909-per-agent-tls/expected-stdout.txt",
        "1910-transform-with-default/expected-stdout.txt",
        "1911-get-local-var-table/expected-stdout.txt",
        "1912-get-set-local-primitive/expected-stdout.txt",
        "1913-get-set-local-objects/expected-stdout.txt",
        "1914-get-local-instance/expected-stdout.txt",
        "1915-get-set-local-current-thread/expected-stdout.txt",
        "1916-get-set-current-frame/expected-stdout.txt",
        "1917-get-stack-frame/expected-stdout.txt",
        "1920-suspend-native-monitor/expected-stdout.txt",
        "1921-suspend-native-recursive-monitor/expected-stdout.txt",
        "1922-owned-monitors-info/expected-stdout.txt",
        "1923-frame-pop/expected-stdout.txt",
        "1924-frame-pop-toggle/expected-stdout.txt",
        "1925-self-frame-pop/expected-stdout.txt",
        "1926-missed-frame-pop/expected-stdout.txt",
        "1927-exception-event/expected-stdout.txt",
        "1928-exception-event-exception/expected-stdout.txt",
        "1930-monitor-info/expected-stdout.txt",
        "1931-monitor-events/expected-stdout.txt",
        "1932-monitor-events-misc/expected-stdout.txt",
        "1933-monitor-current-contended/expected-stdout.txt",
        "1934-jvmti-signal-thread/expected-stdout.txt",
        "1936-thread-end-events/expected-stdout.txt",
        "1937-transform-soft-fail/expected-stdout.txt",
        "1939-proxy-frames/expected-stdout.txt",
        "1940-ddms-ext/expected-stdout.txt",
        "1941-dispose-stress/expected-stdout.txt",
        "1942-suspend-raw-monitor-exit/expected-stdout.txt",
        "1943-suspend-raw-monitor-wait/expected-stdout.txt",
        "1953-pop-frame/expected-stdout.txt",
        "1958-transform-try-jit/expected-stdout.txt",
        "1962-multi-thread-events/expected-stdout.txt",
        "1963-add-to-dex-classloader-in-memory/expected-stdout.txt",
        "1967-get-set-local-bad-slot/expected-stdout.txt",
        "1968-force-early-return/expected-stdout.txt",
        "1969-force-early-return-void/expected-stdout.txt",
        "1970-force-early-return-long/expected-stdout.txt",
        "1971-multi-force-early-return/expected-stdout.txt",
        "1974-resize-array/expected-stdout.txt",
        "1975-hello-structural-transformation/expected-stdout.txt",
        "1976-hello-structural-static-methods/expected-stdout.txt",
        "1977-hello-structural-obsolescence/expected-stdout.txt",
        "1978-regular-obsolete-then-structural-obsolescence/expected-stdout.txt",
        "1979-threaded-structural-transformation/expected-stdout.txt",
        // TODO Requires VarHandles to be un-@hide. See b/64382372
        // "test/1981-structural-redef-private-method-handles/expected-stdout.txt",
        "1981-structural-redef-private-method-handles/expected_no_mh.txt",
        "1982-no-virtuals-structural-redefinition/expected-stdout.txt",
        // JNI-id use can change the outcome of this test on device.
        "1983-structural-redefinition-failures/expected-cts.txt",
        "1984-structural-redefine-field-trace/expected-stdout.txt",
        "1988-multi-structural-redefine/expected-stdout.txt",
        "1989-transform-bad-monitor/expected-stdout.txt",
        "1990-structural-bad-verify/expected-stdout.txt",
        "1991-hello-structural-retransform/expected-stdout.txt",
        "1992-retransform-no-such-field/expected-stdout.txt",
        "1994-final-virtual-structural/expected-stdout.txt",
        "1995-final-virtual-structural-multithread/expected-stdout.txt",
        "1996-final-override-virtual-structural/expected-stdout.txt",
        "1997-structural-shadow-method/expected-stdout.txt",
        "1998-structural-shadow-field/expected-stdout.txt",
        "1999-virtual-structural/expected-stdout.txt",
        "2001-virtual-structural-multithread/expected-stdout.txt",
        "2002-virtual-structural-initializing/expected-stdout.txt",
        "2003-double-virtual-structural/expected-stdout.txt",
        "2004-double-virtual-structural-abstract/expected-stdout.txt",
        "2005-pause-all-redefine-multithreaded/expected-stdout.txt",
        "2006-virtual-structural-finalizing/expected-stdout.txt",
        "2007-virtual-structural-finalizable/expected-stdout.txt",
    ],
    out: ["expected_cts_outputs.jar"],
    tools: ["soong_zip"],
    cmd: "rm -rf $(genDir)/res && mkdir -p $(genDir)/res && " +
        "for f in $(in); do x=$${f#art/test/}; " +
        "cp $$f $(genDir)/res/results.$${x%%-*}.expected.txt; done && " +
        "$(location soong_zip) -o $(out) -C $(genDir)/res -D $(genDir)/res",
}

// Wrap the expected_cts_outputs_gen inside a java library to make it easy
// to export as a member of a module_exports.
java_library {
    name: "expected_cts_outputs",
    visibility: [
        "//art/build/sdk",
        "//cts/hostsidetests/jvmti:__subpackages__",
    ],
    static_libs: [
        "expected_cts_outputs_gen",
    ],
    sdk_version: "core_current",
    // Make sure that this will be added to the sdk snapshot for S.
    min_sdk_version: "S",
}

art_cc_test {
    name: "ArtGtestsTargetInstallApex",
    data: [
        // We need the ART testing apex, which contains all gtest binaries.
        // Note that due to build system and linker constraints the gtests must be in the apex.
        ":com.android.art.testing",
    ],
    // It seems that only device-tests build can create a valid apex.
    test_suites: [
        "device-tests",
    ],
    test_config: "art-gtests-target-install-apex.xml",

    // Support multilib variants (using different suffix per sub-architecture), which is needed on
    // build targets with secondary architectures, as the packaging logic for some test suites
    // flattens all test artifacts into a single `testcases` directory.
    compile_multilib: "both",
    multilib: {
        lib32: {
            suffix: "32",
        },
        lib64: {
            suffix: "64",
        },
    },
}

art_cc_test {
    name: "ArtGtestsTargetChroot",
    data: [
        // We need the ART testing apex, which contains all gtest binaries.
        // Note that due to build system and linker constraints the gtests must be in the apex.
        ":com.android.art.testing",
        ":generate-boot-image",
    ],
    test_suites: ["general-tests"],
    test_config: "art-gtests-target-chroot.xml",
}

// Convert ART apex to zip format so that it can be easily consumed in tradefed.
// TODO: We should create the zip directly from the needed files and remove testing apex.
cc_genrule {
    name: "art-test-target-apex",
    srcs: [
        ":com.android.art.testing",
    ],
    tools: [
        "deapexer",
        "debugfs_static",
        "fsck.erofs",
        "soong_zip",
    ],
    cmd: "OUTPUT_DIR=$(genDir)/extracted && " +
        "mkdir -p $$OUTPUT_DIR && " +
        "$(location deapexer) " +
        "  --debugfs_path $(location debugfs_static) " +
        "  --fsckerofs_path $(location fsck.erofs) " +
        "  extract $(in) $$OUTPUT_DIR && " +
        "$(location soong_zip) -o $(out) -P apex/com.android.art -C $$OUTPUT_DIR -D $$OUTPUT_DIR",
    out: ["art-test-target-apex.zip"],
}

art_cc_test {
    name: "art-test-target",
    data: [
        // We need the ART testing apex, which contains debug binaries and other utilities.
        ":com.android.art.testing",
        ":art-test-target-apex",
        // Archive which contains all run-test data and test-specific bash scripts to run them.
        ":art-run-test-target-tgz-fg",
    ],
    test_suites: [
        "general-tests",
        "mts-art",
    ],
    test_config: "art-test-target.xml",
}

csuite_test {
    name: "csuite-app-compile-launch",
    test_config_template: "csuite-app-compile-launch.xml",
}

filegroup {
    name: "art-gtest-jars",
    device_common_srcs: [
        ":art-gtest-jars-AbstractMethod",
        ":art-gtest-jars-AllFields",
        ":art-gtest-jars-ArrayClassWithUnresolvedComponent",
        ":art-gtest-jars-DefaultMethods",
        ":art-gtest-jars-ErroneousA",
        ":art-gtest-jars-ErroneousB",
        ":art-gtest-jars-ErroneousInit",
        ":art-gtest-jars-Extension1",
        ":art-gtest-jars-Extension2",
        ":art-gtest-jars-ForClassLoaderA",
        ":art-gtest-jars-ForClassLoaderB",
        ":art-gtest-jars-ForClassLoaderC",
        ":art-gtest-jars-ForClassLoaderD",
        ":art-gtest-jars-ExceptionHandle",
        ":art-gtest-jars-GetMethodSignature",
        ":art-gtest-jars-HiddenApi",
        ":art-gtest-jars-HiddenApiSignatures",
        ":art-gtest-jars-HiddenApiStubs",
        ":art-gtest-jars-ImageLayoutA",
        ":art-gtest-jars-ImageLayoutB",
        ":art-gtest-jars-IMTA",
        ":art-gtest-jars-IMTB",
        ":art-gtest-jars-InlinedString",
        ":art-gtest-jars-Instrumentation",
        ":art-gtest-jars-Interfaces",
        ":art-gtest-jars-Lookup",
        ":art-gtest-jars-Main",
        ":art-gtest-jars-ManyMethods",
        ":art-gtest-jars-MethodTypes",
        ":art-gtest-jars-MultiDex",
        ":art-gtest-jars-MultiDexContainer",
        ":art-gtest-jars-MultiDexModifiedSecondary",
        ":art-gtest-jars-MyClass",
        ":art-gtest-jars-MyClassNatives",
        ":art-gtest-jars-Nested",
        ":art-gtest-jars-NonStaticLeafMethods",
        ":art-gtest-jars-Packages",
        ":art-gtest-jars-ProtoCompare",
        ":art-gtest-jars-ProtoCompare2",
        ":art-gtest-jars-ProfileTestMultiDex",
        ":art-gtest-jars-StaticLeafMethods",
        ":art-gtest-jars-Statics",
        ":art-gtest-jars-StaticsFromCode",
        ":art-gtest-jars-StringLiterals",
        ":art-gtest-jars-Transaction",
        ":art-gtest-jars-XandY",
        ":art-gtest-jars-MainEmptyUncompressed",
        ":art-gtest-jars-MainEmptyUncompressedAligned",
        ":art-gtest-jars-MainStripped",
        ":art-gtest-jars-MainUncompressedAligned",
        ":art-gtest-jars-MultiDexUncompressedAligned",
        ":art-gtest-jars-SuperWithAccessChecks",
        ":art-gtest-jars-VerifierDeps",
        ":art-gtest-jars-VerifierDepsMulti",
        ":art-gtest-jars-VerifySoftFailDuringClinit",
    ],
}

java_defaults {
    name: "art-gtest-jars-defaults",
    installable: true,
    dex_preopt: {
        enabled: false,
    },
    sdk_version: "core_platform",
    uncompress_dex: false,
}

// The following modules are just trivial compilations (non-trivial cases are the end).

java_library {
    name: "art-gtest-jars-AbstractMethod",
    srcs: ["AbstractMethod/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-AllFields",
    srcs: ["AllFields/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-DefaultMethods",
    srcs: ["DefaultMethods/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-ErroneousA",
    srcs: ["ErroneousA/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-ErroneousB",
    srcs: ["ErroneousB/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-ErroneousInit",
    srcs: ["ErroneousInit/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-Extension1",
    srcs: ["Extension1/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-Extension2",
    srcs: ["Extension2/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-ForClassLoaderA",
    srcs: ["ForClassLoaderA/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-ForClassLoaderB",
    srcs: ["ForClassLoaderB/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-ForClassLoaderC",
    srcs: ["ForClassLoaderC/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-ForClassLoaderD",
    srcs: ["ForClassLoaderD/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-ExceptionHandle",
    srcs: ["ExceptionHandle/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-GetMethodSignature",
    srcs: ["GetMethodSignature/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-HiddenApi",
    srcs: ["HiddenApi/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-HiddenApiSignatures",
    srcs: ["HiddenApiSignatures/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-HiddenApiStubs",
    srcs: ["HiddenApiStubs/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-ImageLayoutA",
    srcs: ["ImageLayoutA/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-ImageLayoutB",
    srcs: ["ImageLayoutB/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-IMTA",
    srcs: ["IMTA/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-IMTB",
    srcs: ["IMTB/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-Instrumentation",
    srcs: ["Instrumentation/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-InlinedString",
    srcs: ["InlinedString/**/*.java"],
    libs: ["art-gtest-jars-StringLiterals"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-Interfaces",
    srcs: ["Interfaces/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-Lookup",
    srcs: ["Lookup/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-Main",
    srcs: ["Main/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-ManyMethods",
    srcs: ["ManyMethods/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-MethodTypes",
    srcs: ["MethodTypes/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-MyClass",
    srcs: ["MyClass/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-MyClassNatives",
    srcs: ["MyClassNatives/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-Nested",
    srcs: ["Nested/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-NonStaticLeafMethods",
    srcs: ["NonStaticLeafMethods/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-Packages",
    srcs: ["Packages/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-ProtoCompare",
    srcs: ["ProtoCompare/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-ProtoCompare2",
    srcs: ["ProtoCompare2/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-StaticLeafMethods",
    srcs: ["StaticLeafMethods/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-Statics",
    srcs: ["Statics/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-StaticsFromCode",
    srcs: ["StaticsFromCode/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-StringLiterals",
    srcs: ["StringLiterals/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-Transaction",
    srcs: ["Transaction/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-XandY",
    srcs: ["XandY/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

java_library {
    name: "art-gtest-jars-Dex2oatVdexTestDex",
    srcs: ["Dex2oatVdexTestDex/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
}

// The following cases are non-trivial.

// Uncompress classes.dex files in the jar file.
genrule_defaults {
    name: "art-gtest-jars-uncompress-defaults",
    cmd: "$(location zip2zip) -i $(in) -o $(out) -0 'classes*.dex'",
    tools: ["zip2zip"],
}

// Ensure the files are at least 4 byte aligned.
genrule_defaults {
    name: "art-gtest-jars-align-defaults",
    cmd: "$(location zipalign) 4 $(in) $(out)",
    tools: ["zipalign"],
}

// Assemble jar file from smali source.
genrule_defaults {
    name: "art-gtest-jars-smali-defaults",
    cmd: "$(location android-smali) assemble --output $(out) $(in)",
    tools: ["android-smali"],
}

// A copy of Main with the classes.dex stripped for the oat file assistant tests.
java_genrule {
    name: "art-gtest-jars-MainStripped",
    srcs: [":art-gtest-jars-Main"],
    cmd: "$(location zip2zip) -i $(in) -o $(out) -x 'classes*.dex'",
    out: ["art-gtest-jars-MainStripped.jar"],
    tools: ["zip2zip"],
}

// An empty.dex that is empty and uncompressed for the dex2oat tests.
java_genrule {
    name: "art-gtest-jars-MainEmptyUncompressed",
    srcs: ["Main/empty.dex"],
    cmd: "$(location soong_zip) -j -L 0 -o $(out) -f $(in)",
    out: ["art-gtest-jars-MainEmptyUncompressed.jar"],
    tools: ["soong_zip"],
}

// An empty.dex that is empty and uncompressed and aligned for the dex2oat tests.
java_genrule {
    name: "art-gtest-jars-MainEmptyUncompressedAligned",
    defaults: ["art-gtest-jars-align-defaults"],
    srcs: [":art-gtest-jars-MainEmptyUncompressed"],
    out: ["art-gtest-jars-MainEmptyUncompressedAligned.jar"],
}

// A copy of Main with the classes.dex uncompressed for the dex2oat tests.
java_genrule {
    name: "art-gtest-jars-MainUncompressed",
    defaults: ["art-gtest-jars-uncompress-defaults"],
    srcs: [":art-gtest-jars-Main"],
    out: ["art-gtest-jars-MainUncompressed.jar"],
}

// A copy of Main with the classes.dex uncompressed and aligned for the dex2oat tests.
java_genrule {
    name: "art-gtest-jars-MainUncompressedAligned",
    defaults: ["art-gtest-jars-align-defaults"],
    srcs: [":art-gtest-jars-MainUncompressed"],
    out: ["art-gtest-jars-MainUncompressedAligned.jar"],
}

java_library {
    name: "art-gtest-jars-MultiDex",
    srcs: ["MultiDex/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
    min_sdk_version: "19",
    dxflags: [
        "--main-dex-list",
        "art/test/MultiDex/main.list",
    ],
}

// A copy of MultiDex with the classes.dex uncompressed for the OatFile tests.
java_genrule {
    name: "art-gtest-jars-MultiDexUncompressed",
    defaults: ["art-gtest-jars-uncompress-defaults"],
    srcs: [":art-gtest-jars-MultiDex"],
    out: ["art-gtest-jars-MultiDexUncompressed.jar"],
}

// A copy of MultiDex with the classes.dex uncompressed and aligned for the OatFile tests.
java_genrule {
    name: "art-gtest-jars-MultiDexUncompressedAligned",
    defaults: ["art-gtest-jars-align-defaults"],
    srcs: [":art-gtest-jars-MultiDexUncompressed"],
    out: ["art-gtest-jars-MultiDexUncompressedAligned.jar"],
}

// A copy of MultiDex with a single, containerized classes.dex.
java_library {
    name: "art-gtest-jars-MultiDexContainer",
    srcs: ["MultiDex/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
    min_sdk_version: "19",
    dxflags: [
        // Container usage is the default for minSdkVersion >= 36, but
        // `--main-dex-list` is only supported for earlier SDK versions. For
        // now, simply force container usage for testing purposes.
        "-JDcom.android.tools.r8.dexContainerExperiment",
        "--main-dex-list",
        "art/test/MultiDexModifiedSecondary/main.list",
    ],
}

java_library {
    name: "art-gtest-jars-MultiDexModifiedSecondary",
    srcs: ["MultiDexModifiedSecondary/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
    min_sdk_version: "19",
    dxflags: [
        "--main-dex-list",
        "art/test/MultiDexModifiedSecondary/main.list",
    ],
}

java_library {
    name: "art-gtest-jars-ProfileTestMultiDex",
    srcs: ["ProfileTestMultiDex/**/*.java"],
    defaults: ["art-gtest-jars-defaults"],
    min_sdk_version: "19",
    dxflags: [
        "--main-dex-list",
        "art/test/ProfileTestMultiDex/main.list",
    ],
}

// Smali compiled files.
// Since they are not compiled by javac, we use different extension for them.
// The .jar extension for them would cause subtle failures in the test infra,
// which finds and opens all jar files and expects them to be valid zip files.

genrule {
    name: "art-gtest-jars-VerifierDeps",
    defaults: ["art-gtest-jars-smali-defaults"],
    srcs: ["VerifierDeps/**/*.smali"],
    out: ["art-gtest-jars-VerifierDeps.dex"],
}

genrule {
    name: "art-gtest-jars-VerifierDepsMulti",
    defaults: ["art-gtest-jars-smali-defaults"],
    srcs: ["VerifierDepsMulti/**/*.smali"],
    out: ["art-gtest-jars-VerifierDepsMulti.dex"],
}

genrule {
    name: "art-gtest-jars-VerifySoftFailDuringClinit",
    defaults: ["art-gtest-jars-smali-defaults"],
    srcs: ["VerifySoftFailDuringClinit/**/*.smali"],
    out: ["art-gtest-jars-VerifySoftFailDuringClinit.dex"],
}

genrule {
    name: "art-gtest-jars-ArrayClassWithUnresolvedComponent",
    defaults: ["art-gtest-jars-smali-defaults"],
    srcs: ["ArrayClassWithUnresolvedComponent/*.smali"],
    out: ["art-gtest-jars-ArrayClassWithUnresolvedComponent.dex"],
}

genrule {
    name: "art-gtest-jars-SuperWithAccessChecks",
    defaults: ["art-gtest-jars-smali-defaults"],
    srcs: ["SuperWithAccessChecks/*.smali"],
    out: ["art-gtest-jars-SuperWithAccessChecks.dex"],
}

genrule {
    name: "art-gtest-jars-LinkageTest",
    defaults: ["art-gtest-jars-smali-defaults"],
    srcs: ["LinkageTest/*.smali"],
    out: ["art-gtest-jars-LinkageTest.dex"],
}

genrule {
    name: "art-gtest-jars-Dex2oatVdexPublicSdkDex",
    defaults: ["art-gtest-jars-smali-defaults"],
    srcs: ["Dex2oatVdexPublicSdkDex/*.smali"],
    out: ["art-gtest-jars-Dex2oatVdexPublicSdkDex.dex"],
}

build = [
    "Android.run-test.bp",
]

art_common_gtests = [
    "art_cmdline_tests",
    "art_compiler_host_tests",
    "art_compiler_tests",
    "art_dexanalyze_tests",
    "art_dexdump_tests",
    "art_dexlist_tests",
    "art_dexoptanalyzer_tests",
    "art_disassembler_tests",
    "art_hiddenapi_tests",
    "art_imgdiag_tests",
    "art_libartbase_tests",
    "art_libdexfile_external_tests",
    "art_libdexfile_support_static_tests",
    "art_libdexfile_support_tests",
    "art_libdexfile_tests",
    "art_libprofile_tests",
    "art_oatdump_tests",
    "art_profman_tests",
    "art_runtime_tests",
]

// Phony module for use by art/tools/art_build.py
phony {
    name: "art_test_target_gtest_dependencies",
    required: [
        // TESTING_ART_APEX
        "com.android.art.testing",
        // ART_TEST_TARGET_GTEST_DEPENDENCIES defaults
        "com.android.i18n",
        "libjavacore.com.android.art.testing",
        "libopenjdkd.com.android.art.testing",
        "com.android.conscrypt",
        // ART_TEST_MODULES_TARGET
        "art_odrefresh_tests",
        // ART_TEST_MODULES_COMMON
    ] + art_common_gtests +
    // b/258770641 Temporarily disable sigchain and dex2oat tests on ASAN
    // configuration while we investigate the failures.
    select(soong_config_variable("ANDROID", "HAS_SANITIZE_HOST"), {
        true: [],
        default: [
            "art_sigchain_tests",
            "art_dex2oat_tests",
        ],
    }),
}

phony {
    name: "art_run_test_dependencies",
    host_supported: true,
    device_supported: true,
    required: [
        // Host tools required by run-tests
        "d8",
        "hiddenapi",
        "jasmin",
        "android-smali",

        // Native libraries required by run-tests
        "libartagent",
        "libartagentd",
        "libtiagent",
        "libtiagentd",
        "libtistress",
        "libtistressd",
        "libarttest",
        "libarttestd",
        "libarttest_external",
        "libarttestd_external",
        "libnativebridgetest",
        "libnativebridgetestd",
        "signal_dumper",
    ],
}

// This phony module lists the dependencies required by art/tools/art_build.py
// to build build-art-host-run-tests. It excludes dependencies that require
// special handling, such as ART_HOST_DEX_DEPENDENCIES, HOST_I18N_DATA,
// and hprof-conv.
phony {
    name: "art_test_host_run_test_dependencies",
    host_supported: true,
    required: [
        "art_run_test_dependencies",
        // in ART_HOST_OUT_SHARED_LIBRARIES/
        "libicu_jni",
        "libjavacore",
        "libopenjdk",
        "libopenjdkd",
        "libopenjdkjvmti",
        "libopenjdkjvmtid",
        // Other dependencies
        "art_boot_images",
    ],
}

// Phony module that lists key dependencies for building the target run-tests.
// Note: This list is intentionally incomplete, as most dependencies are pulled
// in transitively. It serves as a build trigger for art/tools/art_build.py.
phony {
    name: "art_test_target_run_test_dependencies",
    device_supported: true,
    required: [
        "art_run_test_dependencies",
        // TESTING_ART_APEX
        "com.android.art.testing",
    ],
}

art_host_test_data {
    name: "art_host_test_data",
}

test_suite_package {
    name: "art-host-tests",
    include_host_shared_libs_in_main_zip: true,
    art_data_zips: [
        ":art_host_test_data",
        ":art_host_test_data_symlink",
        ":art_test_common_host_jars_zip",
        ":apex_icu_dat_zip",
        ":art_common_host_test_libs_zip",
    ],
}

genrule {
    name: "art_test_common_host_jars_zip",
    device_first_srcs: [
        ":art-bootclasspath-fragment{.encoded_jars_zip}",
        ":conscrypt-host", //conscrypt.jar
        ":core-icu4j-host", //core-icu4j.jar
    ],
    tools: ["soong_zip"],
    out: ["art_test_common_host_jars_zip.zip"],
    cmd: "TEMP_DIR=$(genDir)/tmp && rm -rf $$TEMP_DIR && " +
        "LIB_DIR=$$TEMP_DIR/host/testcases/art_common/out/host/linux-x86/apex/com.android.art/javalib && " +
        "CONSCRYPT_DIR=$$TEMP_DIR/host/testcases/art_common/out/host/linux-x86/apex/com.android.conscrypt/javalib && " +
        "CORE_ICU4J_DIR=$$TEMP_DIR/host/testcases/art_common/out/host/linux-x86/apex/com.android.i18n/javalib && " +
        "mkdir -p $$LIB_DIR && " +
        "mkdir -p $$CONSCRYPT_DIR && " +
        "mkdir -p $$CORE_ICU4J_DIR && " +
        "unzip $(location :art-bootclasspath-fragment{.encoded_jars_zip}) -d $$LIB_DIR/ && " +
        "cp $(location :conscrypt-host) $$CONSCRYPT_DIR/conscrypt.jar && " +
        "cp $(location :core-icu4j-host) $$CORE_ICU4J_DIR/core-icu4j.jar && " +
        "$(location soong_zip) -o $(out) -C $$TEMP_DIR -D $$TEMP_DIR/host",
}

genrule {
    name: "apex_icu_dat_zip",
    srcs: [
        ":icu_dat",
    ],
    tools: ["soong_zip"],
    out: ["apex_icu_dat.zip"],
    cmd: "TEMP_DIR=$(genDir)/tmp32 && rm -rf $$TEMP_DIR && " +
        "LIB_DIR=$$TEMP_DIR/host/testcases/art_common/out/host/linux-x86/com.android.i18n/etc/icu && " +
        "mkdir -p $$LIB_DIR && " +
        "cp $(location :icu_dat) $$LIB_DIR && " +
        "$(location soong_zip) -o $(out) -C $$TEMP_DIR -D $$TEMP_DIR/host",
}

genrule_defaults {
    name: "art_common_host_test_libs_zip_defaults",
    host_supported: true,
    device_supported: false,
    srcs: [
        ":libbase",
        ":libc++",
        ":libicu",
        ":libicu_jni",
        ":liblog",
        ":libsigchain",
        ":libunwindstack",
        ":libziparchive",
        ":libjavacore",
        ":libandroidio",
        ":libopenjdkd",
        ":liblz4",
        ":liblzma",
        ":libcrypto",
        ":libz",
        ":libicuuc",
        ":libicui18n",
        ":libexpat",
    ],
    tools: ["soong_zip"],
    cmd: "TEMP_DIR=$(genDir)/tmp && rm -rf $$TEMP_DIR && " +
        "LIB_SUBDIR=$$(echo $$CC_MULTILIB | sed 's/lib32/lib/') && " +
        "LIB_DIR=$$TEMP_DIR/host/testcases/art_common/out/host/linux-x86/$$LIB_SUBDIR && " +
        "mkdir -p $$LIB_DIR && " +
        "cp $(location :libbase) $$LIB_DIR/libbase.so && " +
        "cp $(location :libc++) $$LIB_DIR/libc++.so && " +
        "cp $(location :libicu) $$LIB_DIR/libicu.so && " +
        "cp $(location :libicu_jni) $$LIB_DIR/libicu_jni.so && " +
        "cp $(location :liblog) $$LIB_DIR/liblog.so && " +
        "cp $(location :libsigchain) $$LIB_DIR/libsigchain.so && " +
        "cp $(location :libunwindstack) $$LIB_DIR/libunwindstack.so && " +
        "cp $(location :libziparchive) $$LIB_DIR/libziparchive.so && " +
        "cp $(location :libjavacore) $$LIB_DIR/libjavacore.so && " +
        "cp $(location :libandroidio) $$LIB_DIR/libandroidio.so && " +
        "cp $(location :libopenjdkd) $$LIB_DIR/libopenjdkd.so && " +
        "cp $(location :liblz4) $$LIB_DIR/liblz4.so && " +
        "cp $(location :liblzma) $$LIB_DIR/liblzma.so && " +
        "cp $(location :libcrypto) $$LIB_DIR/libcrypto-host.so && " +
        "cp $(location :libz) $$LIB_DIR/libz-host.so && " +
        "cp $(location :libicuuc) $$LIB_DIR/libicuuc-host.so && " +
        "cp $(location :libicui18n) $$LIB_DIR/libicui18n-host.so && " +
        "cp $(location :libexpat) $$LIB_DIR/libexpat-host.so && " +
        "$(location soong_zip) -o $(out) -C $$TEMP_DIR -D $$TEMP_DIR/host",
}

// This module and art_common_host_test_second_arch_libs are intentionally
// defined separately, despite their identical configurations.
// This is necessary because the final art_common_host_test_libs_zip target
// requires both 32-bit and 64-bit libraries to ensure parity with the
// legacy art-host-tests.zip.
// A single genrule does not permit listing the same dependency in both
// host_first_srcs and host_second_srcs, as it would trigger a duplicate
// source error. By creating two distinct targets, the build system
// generates one for the primary (e.g., 64-bit) and one for the secondary
// (e.g., 32-bit) multilib architecture.
cc_genrule {
    name: "art_common_host_test_first_arch_libs",
    compile_multilib: "64",
    out: ["art_common_host_test_first_arch_libs.zip"],
    defaults: ["art_common_host_test_libs_zip_defaults"],
}

cc_genrule {
    name: "art_common_host_test_second_arch_libs",
    compile_multilib: "32",
    out: ["art_common_host_test_second_arch_libs.zip"],
    defaults: ["art_common_host_test_libs_zip_defaults"],
}

// This rule packages a set of shared libraries (.so) required by art-host-tests.
// The tests are executed by a test runner that needs to find and load these
// shared libraries at runtime. This is necessary for the gtest framework which
// dynamically loads these dependencies.
genrule {
    name: "art_common_host_test_libs_zip",
    tools: ["merge_zips"],
    host_first_srcs: [
        ":art_common_host_test_first_arch_libs",
        ":art_boot_images{.zip}",
    ],
    host_second_srcs: [
        ":art_common_host_test_second_arch_libs",
    ],
    out: ["art_common_host_test_libs_zip.zip"],
    cmd: "$(location merge_zips) $(out) $(in)",
}

// This genrule creates symbolic links required for the art-host-tests.zip
// package.
//
// These symlinks (e.g., dalvikvm -> dalvikvm64) are necessary for art
// host tests (e.g., dex2oat_test) that execute binaries using their
// non-suffixed names (e.g., 'dex2oatd'). Without them, tests fail with
// 'No such file or directory' errors.
genrule {
    name: "art_host_test_data_symlink",
    out: ["art_host_test_data_symlink.zip"],
    tools: ["soong_zip"],
    cmd: "TMP_DIR=$(genDir)/staging && " +
        "BIN_DIR=$${TMP_DIR}/host/testcases/art_common/out/host/linux-x86/bin && " +
        "mkdir -p $${BIN_DIR} && " +
        "ln -sf dalvikvm64 $${BIN_DIR}/dalvikvm && " +
        "ln -sf dex2oat64 $${BIN_DIR}/dex2oat && " +
        "ln -sf dex2oatd64 $${BIN_DIR}/dex2oatd && " +
        "ln -sf find_unshared_pages64 $${BIN_DIR}/find_unshared_pages && " +
        "ln -sf imgdiag64 $${BIN_DIR}/imgdiag && " +
        "ln -sf imgdiagd64 $${BIN_DIR}/imgdiagd && " +
        "ln -sf pageinfo64 $${BIN_DIR}/pageinfo && " +
        "$(location soong_zip) -o $(out) -C $${TMP_DIR} -D $${TMP_DIR}",
}
