1 // 2 // Copyright (C) 2016 The Android Open Source Project 3 // 4 // Licensed under the Apache License, Version 2.0 (the "License"); 5 // you may not use this file except in compliance with the License. 6 // You may obtain a copy of the License at 7 // 8 // http://www.apache.org/licenses/LICENSE-2.0 9 // 10 // Unless required by applicable law or agreed to in writing, software 11 // distributed under the License is distributed on an "AS IS" BASIS, 12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 // See the License for the specific language governing permissions and 14 // limitations under the License. 15 // 16 17 art_cc_defaults { 18 name: "art_test_defaults", 19 host_supported: true, 20 target: { 21 android_arm: { 22 relative_install_path: "art/arm", 23 }, 24 android_arm64: { 25 relative_install_path: "art/arm64", 26 }, 27 android_mips: { 28 relative_install_path: "art/mips", 29 }, 30 android_mips64: { 31 relative_install_path: "art/mips64", 32 }, 33 android_x86: { 34 relative_install_path: "art/x86", 35 }, 36 android_x86_64: { 37 relative_install_path: "art/x86_64", 38 }, 39 darwin: { 40 enabled: false, 41 }, 42 }, 43 cflags: [ 44 "-Wno-frame-larger-than=", 45 ], 46 } 47 48 art_cc_defaults { 49 name: "art_gtest_defaults", 50 test_per_src: true, 51 // These really are gtests, but the gtest library comes from libart-gtest.so 52 gtest: false, 53 defaults: [ 54 "art_test_defaults", 55 "art_debug_defaults", 56 "art_defaults", 57 ], 58 59 shared_libs: [ 60 "libartd", 61 "libartd-disassembler", 62 "libvixld", 63 "libart-gtest", 64 "libdexfiled", 65 "libprofiled", 66 "libartbased", 67 68 "libbase", 69 "libicuuc", 70 "libicui18n", 71 "libnativehelper", 72 "libz", 73 ], 74 whole_static_libs: [ 75 "libsigchain", 76 ], 77 78 target: { 79 linux: { 80 ldflags: [ 81 // Allow jni_compiler_test to find Java_MyClassNatives_bar 82 // within itself using dlopen(NULL, ...). 83 // Mac OS linker doesn't understand --export-dynamic. 84 "-Wl,--export-dynamic", 85 "-Wl,-u,Java_MyClassNatives_bar", 86 "-Wl,-u,Java_MyClassNatives_sbar", 87 ], 88 cflags: [ 89 // gtest issue 90 "-Wno-used-but-marked-unused", 91 "-Wno-deprecated", 92 "-Wno-missing-noreturn", 93 ], 94 }, 95 host: { 96 shared_libs: [ 97 "libziparchive", 98 ], 99 }, 100 android: { 101 shared_libs: [ 102 "liblog", 103 ], 104 }, 105 }, 106 } 107 108 art_cc_defaults { 109 name: "libart-gtest-defaults", 110 host_supported: true, 111 defaults: [ 112 "art_debug_defaults", 113 "art_defaults", 114 ], 115 shared_libs: [ 116 "libartd", 117 "libartd-compiler", 118 "libdexfiled", 119 "libprofiled", 120 "libartbased", 121 ], 122 static_libs: [ 123 "libgtest", 124 ], 125 target: { 126 android32: { 127 cflags: ["-DART_TARGET_NATIVETEST_DIR=/data/nativetest/art"], 128 }, 129 android64: { 130 cflags: ["-DART_TARGET_NATIVETEST_DIR=/data/nativetest64/art"], 131 }, 132 linux: { 133 cflags: [ 134 // gtest issue 135 "-Wno-used-but-marked-unused", 136 "-Wno-deprecated", 137 "-Wno-missing-noreturn", 138 ], 139 }, 140 darwin: { 141 enabled: false, 142 }, 143 }, 144 } 145 146 art_cc_library { 147 name: "libart-gtest", 148 host_supported: true, 149 whole_static_libs: [ 150 "libart-compiler-gtest", 151 "libart-runtime-gtest", 152 "libartbase-art-gtest", 153 "libgtest", 154 ], 155 shared_libs: [ 156 "libartd", 157 "libartd-compiler", 158 "libdexfiled", 159 "libprofiled", 160 "libartbased", 161 "libbase", 162 "libbacktrace", 163 ], 164 target: { 165 darwin: { 166 enabled: false, 167 }, 168 }, 169 } 170 171 cc_defaults { 172 name: "libartagent-defaults", 173 defaults: [ 174 "art_test_defaults", 175 "art_defaults", 176 ], 177 shared_libs: [ 178 "libbacktrace", 179 "libbase", 180 "libnativehelper", 181 ], 182 } 183 184 art_cc_test_library { 185 name: "libartagent", 186 srcs: ["900-hello-plugin/load_unload.cc"], 187 defaults: ["libartagent-defaults"], 188 shared_libs: [ 189 "libart", 190 "libdexfile", 191 "libprofile", 192 "libartbase", 193 ], 194 } 195 196 art_cc_test_library { 197 name: "libartagentd", 198 srcs: ["900-hello-plugin/load_unload.cc"], 199 defaults: [ 200 "art_debug_defaults", 201 "libartagent-defaults", 202 ], 203 shared_libs: [ 204 "libartd", 205 "libdexfiled", 206 "libprofiled", 207 "libartbased", 208 ], 209 } 210 211 art_cc_defaults { 212 name: "libtiagent-base-defaults", 213 defaults: [ 214 "art_test_defaults", 215 "art_defaults", 216 // Not derived from libartagent-defaults for NDK. 217 ], 218 srcs: [ 219 // These are the ART-independent parts. 220 "ti-agent/agent_common.cc", 221 "ti-agent/agent_startup.cc", 222 "ti-agent/jni_binder.cc", 223 "ti-agent/jvmti_helper.cc", 224 "ti-agent/test_env.cc", 225 "ti-agent/breakpoint_helper.cc", 226 "ti-agent/common_helper.cc", 227 "ti-agent/frame_pop_helper.cc", 228 "ti-agent/locals_helper.cc", 229 "ti-agent/monitors_helper.cc", 230 "ti-agent/redefinition_helper.cc", 231 "ti-agent/suspension_helper.cc", 232 "ti-agent/stack_trace_helper.cc", 233 "ti-agent/threads_helper.cc", 234 "ti-agent/trace_helper.cc", 235 "ti-agent/exceptions_helper.cc", 236 // This is the list of non-special OnLoad things and excludes BCI and anything that depends 237 // on ART internals. 238 "903-hello-tagging/tagging.cc", 239 "904-object-allocation/tracking.cc", 240 "905-object-free/tracking_free.cc", 241 "906-iterate-heap/iterate_heap.cc", 242 "907-get-loaded-classes/get_loaded_classes.cc", 243 "908-gc-start-finish/gc_callbacks.cc", 244 "910-methods/methods.cc", 245 "911-get-stack-trace/stack_trace.cc", 246 "912-classes/classes.cc", 247 "913-heaps/heaps.cc", 248 "918-fields/fields.cc", 249 "920-objects/objects.cc", 250 "922-properties/properties.cc", 251 "923-monitors/monitors.cc", 252 "924-threads/threads.cc", 253 "925-threadgroups/threadgroups.cc", 254 "927-timers/timers.cc", 255 "928-jni-table/jni_table.cc", 256 "929-search/search.cc", 257 "931-agent-thread/agent_thread.cc", 258 "933-misc-events/misc_events.cc", 259 "945-obsolete-native/obsolete_native.cc", 260 "983-source-transform-verify/source_transform.cc", 261 "984-obsolete-invoke/obsolete_invoke.cc", 262 "986-native-method-bind/native_bind.cc", 263 "987-agent-bind/agent_bind.cc", 264 "988-method-trace/trace_fib.cc", 265 "989-method-trace-throw/method_trace.cc", 266 "991-field-trace-2/field_trace.cc", 267 "992-source-data/source_file.cc", 268 "993-breakpoints/breakpoints.cc", 269 "996-breakpoint-obsolete/obsolete_breakpoints.cc", 270 "1900-track-alloc/alloc.cc", 271 "1901-get-bytecodes/bytecodes.cc", 272 "1905-suspend-native/native_suspend.cc", 273 "1908-suspend-native-resume-self/native_suspend_resume.cc", 274 "1909-per-agent-tls/agent_tls.cc", 275 "1914-get-local-instance/local_instance.cc", 276 "1919-vminit-thread-start-timing/vminit.cc", 277 "1920-suspend-native-monitor/native_suspend_monitor.cc", 278 "1921-suspend-native-recursive-monitor/native_suspend_recursive_monitor.cc", 279 "1922-owned-monitors-info/owned_monitors.cc", 280 "1924-frame-pop-toggle/frame_pop_toggle.cc", 281 "1926-missed-frame-pop/frame_pop_missed.cc", 282 "1927-exception-event/exception_event.cc", 283 "1930-monitor-info/monitor.cc", 284 "1932-monitor-events-misc/monitor_misc.cc", 285 "1934-jvmti-signal-thread/signal_threads.cc", 286 "1939-proxy-frames/local_instance.cc", 287 "1941-dispose-stress/dispose_stress.cc", 288 "1942-suspend-raw-monitor-exit/native_suspend_monitor.cc", 289 "1943-suspend-raw-monitor-wait/native_suspend_monitor.cc", 290 "1946-list-descriptors/descriptors.cc", 291 "1950-unprepared-transform/unprepared_transform.cc", 292 "1951-monitor-enter-no-suspend/raw_monitor.cc", 293 "1953-pop-frame/pop_frame.cc", 294 "1957-error-ext/lasterror.cc", 295 "1962-multi-thread-events/multi_thread_events.cc", 296 ], 297 // Use NDK-compatible headers for ctstiagent. 298 header_libs: [ 299 "libopenjdkjvmti_headers", 300 ], 301 include_dirs: ["art/test/ti-agent"], 302 } 303 304 art_cc_defaults { 305 name: "libtiagent-defaults", 306 defaults: [ 307 "libtiagent-base-defaults", 308 "libartagent-defaults", 309 ], 310 srcs: [ 311 // This is to get the IsInterpreted native method. 312 "common/stack_inspect.cc", 313 "common/runtime_state.cc", 314 "ti-agent/common_load.cc", 315 // This includes the remaining test functions. We should try to refactor things to 316 // make this list smaller. 317 "901-hello-ti-agent/basics.cc", 318 "909-attach-agent/attach.cc", 319 "912-classes/classes_art.cc", 320 "936-search-onload/search_onload.cc", 321 "980-redefine-object/redef_object.cc", 322 "983-source-transform-verify/source_transform_art.cc", 323 "1940-ddms-ext/ddm_ext.cc", 324 "1944-sudden-exit/sudden_exit.cc", 325 // "1952-pop-frame-jit/pop_frame.cc", 326 "1959-redefine-object-instrument/fake_redef_object.cc", 327 "1960-obsolete-jit-multithread-native/native_say_hi.cc", 328 ], 329 static_libs: [ 330 "libz", 331 "slicer_no_rtti", 332 ], 333 } 334 335 art_cc_test_library { 336 name: "libtiagent", 337 defaults: ["libtiagent-defaults"], 338 shared_libs: [ 339 "libart", 340 "libdexfile", 341 "libprofile", 342 "libartbase", 343 ], 344 } 345 346 art_cc_test_library { 347 name: "libtiagentd", 348 defaults: [ 349 "art_debug_defaults", 350 "libtiagent-defaults", 351 ], 352 shared_libs: [ 353 "libartd", 354 "libdexfiled", 355 "libprofiled", 356 "libartbased", 357 ], 358 } 359 360 cc_library_static { 361 name: "libctstiagent", 362 defaults: ["libtiagent-base-defaults"], 363 host_supported: false, 364 srcs: [ 365 "983-source-transform-verify/source_transform_slicer.cc", 366 ], 367 whole_static_libs: [ 368 "slicer_ndk_no_rtti", 369 ], 370 static_libs: [ 371 "libbase_ndk", 372 ], 373 shared_libs: [ 374 "libz", // for slicer (using adler32). 375 ], 376 sdk_version: "current", 377 stl: "c++_static", 378 include_dirs: [ 379 // This is needed to resolve the base/ header file in libdexfile. Unfortunately there are 380 // many problems with how we export headers that are making doing this the 'right' way 381 // difficult. 382 // TODO: move those headers to art/ rather than under runtime. 383 "art/runtime", 384 // NDK headers aren't available in platform NDK builds. 385 "libnativehelper/include_jni", 386 ], 387 export_include_dirs: ["ti-agent"], 388 } 389 390 art_cc_defaults { 391 name: "libtistress-srcs", 392 defaults: ["libartagent-defaults"], 393 srcs: [ 394 "ti-stress/stress.cc", 395 ], 396 header_libs: ["libopenjdkjvmti_headers"], 397 } 398 399 art_cc_defaults { 400 name: "libtistress-defaults", 401 defaults: ["libtistress-srcs"], 402 shared_libs: [ 403 "libbase", 404 "slicer_no_rtti", 405 ], 406 } 407 408 art_cc_test_library { 409 name: "libtistress", 410 defaults: ["libtistress-defaults"], 411 shared_libs: ["libartbase"], 412 } 413 414 art_cc_test_library { 415 name: "libtistressd", 416 defaults: [ 417 "art_debug_defaults", 418 "libtistress-defaults", 419 ], 420 shared_libs: ["libartbased"], 421 } 422 423 art_cc_defaults { 424 name: "libtistress-static-defaults", 425 defaults: [ 426 "libtistress-srcs", 427 "libart_static_defaults", 428 ], 429 static_libs: ["slicer_no_rtti"], 430 } 431 432 art_cc_test_library { 433 name: "libtistresss", 434 defaults: ["libtistress-static-defaults"], 435 static_libs: ["libartbase"], 436 } 437 438 art_cc_test_library { 439 name: "libtistressds", 440 defaults: [ 441 "art_debug_defaults", 442 "libtistress-static-defaults", 443 ], 444 static_libs: ["libartbased"], 445 } 446 447 cc_defaults { 448 name: "libarttest-defaults", 449 defaults: [ 450 "art_test_defaults", 451 "art_defaults", 452 ], 453 srcs: [ 454 "004-JniTest/jni_test.cc", 455 "004-ReferenceMap/stack_walk_refmap_jni.cc", 456 "004-SignalTest/signaltest.cc", 457 "004-StackWalk/stack_walk_jni.cc", 458 "004-ThreadStress/thread_stress.cc", 459 "004-UnsafeTest/unsafe_test.cc", 460 "044-proxy/native_proxy.cc", 461 "051-thread/thread_test.cc", 462 "1337-gc-coverage/gc_coverage.cc", 463 "136-daemon-jni-shutdown/daemon_jni_shutdown.cc", 464 "137-cfi/cfi.cc", 465 "139-register-natives/regnative.cc", 466 "141-class-unload/jni_unload.cc", 467 "148-multithread-gc-annotations/gc_coverage.cc", 468 "149-suspend-all-stress/suspend_all.cc", 469 "154-gc-loop/heap_interface.cc", 470 "167-visit-locks/visit_locks.cc", 471 "169-threadgroup-jni/jni_daemon_thread.cc", 472 "172-app-image-twice/debug_print_class.cc", 473 "1945-proxy-method-arguments/get_args.cc", 474 "203-multi-checkpoint/multi_checkpoint.cc", 475 "305-other-fault-handler/fault_handler.cc", 476 "454-get-vreg/get_vreg_jni.cc", 477 "457-regs/regs_jni.cc", 478 "461-get-reference-vreg/get_reference_vreg_jni.cc", 479 "466-get-live-vreg/get_live_vreg_jni.cc", 480 "497-inlining-and-class-loader/clear_dex_cache.cc", 481 "543-env-long-ref/env_long_ref.cc", 482 "566-polymorphic-inlining/polymorphic_inline.cc", 483 "570-checker-osr/osr.cc", 484 "595-profile-saving/profile-saving.cc", 485 "596-app-images/app_images.cc", 486 "596-monitor-inflation/monitor_inflation.cc", 487 "597-deopt-new-string/deopt.cc", 488 "616-cha-unloading/cha_unload.cc", 489 "626-const-class-linking/clear_dex_cache_types.cc", 490 "642-fp-callees/fp_callees.cc", 491 "647-jni-get-field-id/get_field_id.cc", 492 "656-annotation-lookup-generic-jni/test.cc", 493 "661-oat-writer-layout/oat_writer_layout.cc", 494 "664-aget-verifier/aget-verifier.cc", 495 "667-jit-jni-stub/jit_jni_stub_test.cc", 496 "674-hiddenapi/hiddenapi.cc", 497 "692-vdex-inmem-loader/vdex_inmem_loader.cc", 498 "708-jit-cache-churn/jit.cc", 499 "800-smali/jni.cc", 500 "909-attach-agent/disallow_debugging.cc", 501 "1001-app-image-regions/app_image_regions.cc", 502 "1002-notify-startup/startup_interface.cc", 503 "1947-breakpoint-redefine-deopt/check_deopt.cc", 504 "common/runtime_state.cc", 505 "common/stack_inspect.cc", 506 ], 507 shared_libs: [ 508 "libbacktrace", 509 "libbase", 510 "libnativehelper", 511 ], 512 } 513 514 art_cc_test_library { 515 name: "libarttest", 516 defaults: ["libarttest-defaults"], 517 shared_libs: [ 518 "libart", 519 "libdexfile", 520 "libprofile", 521 "libartbase", 522 ], 523 } 524 525 art_cc_test_library { 526 name: "libarttestd", 527 defaults: [ 528 "art_debug_defaults", 529 "libarttest-defaults", 530 ], 531 shared_libs: [ 532 "libartd", 533 "libdexfiled", 534 "libprofiled", 535 "libartbased", 536 ], 537 } 538 539 art_cc_test_library { 540 name: "libnativebridgetest", 541 shared_libs: ["libart"], 542 defaults: [ 543 "art_test_defaults", 544 "art_debug_defaults", 545 "art_defaults", 546 ], 547 header_libs: ["libnativebridge-headers"], 548 srcs: ["115-native-bridge/nativebridge.cc"], 549 } 550 551 filegroup { 552 name: "art_cts_jvmti_test_library", 553 srcs: [ 554 // shim classes. We use one that exposes the common functionality. 555 "902-hello-transformation/src/art/Redefinition.java", 556 "903-hello-tagging/src/art/Main.java", 557 "989-method-trace-throw/src/art/Trace.java", 558 "993-breakpoints/src/art/Breakpoint.java", 559 "1902-suspend/src/art/Suspension.java", 560 "1911-get-local-var-table/src/art/Locals.java", 561 "1912-get-set-local-primitive/src/art/StackTrace.java", 562 "1923-frame-pop/src/art/FramePop.java", 563 "1927-exception-event/src/art/Exceptions.java", 564 "1930-monitor-info/src/art/Monitors.java", 565 "1934-jvmti-signal-thread/src/art/Threads.java", 566 567 // Actual test classes. 568 "901-hello-ti-agent/src/art/Test901.java", 569 "902-hello-transformation/src/art/Test902.java", 570 "903-hello-tagging/src/art/Test903.java", 571 "904-object-allocation/src/art/Test904.java", 572 "905-object-free/src/art/Test905.java", 573 "906-iterate-heap/src/art/Test906.java", 574 "907-get-loaded-classes/src/art/Test907.java", 575 "907-get-loaded-classes/src/art/Cerr.java", 576 "908-gc-start-finish/src/art/Test908.java", 577 "910-methods/src/art/Test910.java", 578 "911-get-stack-trace/src/art/Test911.java", 579 "911-get-stack-trace/src/art/AllTraces.java", 580 "911-get-stack-trace/src/art/ControlData.java", 581 "911-get-stack-trace/src/art/Frames.java", 582 "911-get-stack-trace/src/art/OtherThread.java", 583 "911-get-stack-trace/src/art/PrintThread.java", 584 "911-get-stack-trace/src/art/Recurse.java", 585 "911-get-stack-trace/src/art/SameThread.java", 586 "911-get-stack-trace/src/art/ThreadListTraces.java", 587 "912-classes/src-art/art/Test912.java", 588 "912-classes/src-art/art/DexData.java", 589 "913-heaps/src/art/Test913.java", 590 "914-hello-obsolescence/src/art/Test914.java", 591 "915-obsolete-2/src/art/Test915.java", 592 "917-fields-transformation/src/art/Test917.java", 593 "918-fields/src/art/Test918.java", 594 "919-obsolete-fields/src/art/Test919.java", 595 "920-objects/src/art/Test920.java", 596 "922-properties/src/art/Test922.java", 597 "923-monitors/src/art/Test923.java", 598 "924-threads/src/art/Test924.java", 599 "925-threadgroups/src/art/Test925.java", 600 "926-multi-obsolescence/src/art/Test926.java", 601 "927-timers/src/art/Test927.java", 602 "928-jni-table/src/art/Test928.java", 603 "930-hello-retransform/src/art/Test930.java", 604 "931-agent-thread/src/art/Test931.java", 605 "932-transform-saves/src/art/Test932.java", 606 "933-misc-events/src/art/Test933.java", 607 "940-recursive-obsolete/src/art/Test940.java", 608 "942-private-recursive/src/art/Test942.java", 609 "944-transform-classloaders/src/art/Test944.java", 610 "945-obsolete-native/src/art/Test945.java", 611 "947-reflect-method/src/art/Test947.java", 612 "951-threaded-obsolete/src/art/Test951.java", 613 "982-ok-no-retransform/src/art/Test982.java", 614 "983-source-transform-verify/src/art/Test983.java", 615 "984-obsolete-invoke/src/art/Test984.java", 616 "985-re-obsolete/src/art/Test985.java", 617 "986-native-method-bind/src/art/Test986.java", 618 "988-method-trace/src/art/Test988.java", 619 "988-method-trace/src/art/Test988Intrinsics.java", 620 "989-method-trace-throw/src/art/Test989.java", 621 "990-field-trace/src/art/Test990.java", 622 "991-field-trace-2/src/art/Test991.java", 623 "992-source-data/src/art/Test992.java", 624 "992-source-data/src/art/Target2.java", 625 "993-breakpoints/src/art/Test993.java", 626 "994-breakpoint-line/src/art/Test994.java", 627 "995-breakpoints-throw/src/art/Test995.java", 628 "996-breakpoint-obsolete/src/art/Test996.java", 629 "997-single-step/src/art/Test997.java", 630 "1900-track-alloc/src/art/Test1900.java", 631 "1901-get-bytecodes/src/art/Test1901.java", 632 "1902-suspend/src/art/Test1902.java", 633 "1903-suspend-self/src/art/Test1903.java", 634 "1904-double-suspend/src/art/Test1904.java", 635 "1906-suspend-list-me-first/src/art/Test1906.java", 636 "1907-suspend-list-self-twice/src/art/Test1907.java", 637 "1908-suspend-native-resume-self/src/art/Test1908.java", 638 "1909-per-agent-tls/src/art/Test1909.java", 639 "1910-transform-with-default/src/art/Test1910.java", 640 "1911-get-local-var-table/src/art/Test1911.java", 641 "1912-get-set-local-primitive/src/art/Test1912.java", 642 "1913-get-set-local-objects/src/art/Test1913.java", 643 "1914-get-local-instance/src/art/Test1914.java", 644 "1915-get-set-local-current-thread/src/art/Test1915.java", 645 "1916-get-set-current-frame/src/art/Test1916.java", 646 "1917-get-stack-frame/src/art/Test1917.java", 647 "1920-suspend-native-monitor/src/art/Test1920.java", 648 "1921-suspend-native-recursive-monitor/src/art/Test1921.java", 649 "1922-owned-monitors-info/src/art/Test1922.java", 650 "1923-frame-pop/src/art/Test1923.java", 651 "1924-frame-pop-toggle/src/art/Test1924.java", 652 "1925-self-frame-pop/src/art/Test1925.java", 653 "1926-missed-frame-pop/src/art/Test1926.java", 654 "1927-exception-event/src/art/Test1927.java", 655 "1928-exception-event-exception/src/art/Test1928.java", 656 "1930-monitor-info/src/art/Test1930.java", 657 "1931-monitor-events/src/art/Test1931.java", 658 "1932-monitor-events-misc/src/art/Test1932.java", 659 "1933-monitor-current-contended/src/art/Test1933.java", 660 "1934-jvmti-signal-thread/src/art/Test1934.java", 661 "1936-thread-end-events/src/art/Test1936.java", 662 "1937-transform-soft-fail/src/art/Test1937.java", 663 "1939-proxy-frames/src/art/Test1939.java", 664 "1941-dispose-stress/src/art/Test1941.java", 665 "1942-suspend-raw-monitor-exit/src/art/Test1942.java", 666 "1943-suspend-raw-monitor-wait/src/art/Test1943.java", 667 "1953-pop-frame/src/art/Test1953.java", 668 "1958-transform-try-jit/src/art/Test1958.java", 669 "1962-multi-thread-events/src/art/Test1962.java", 670 ], 671 } 672 673 // CTS test runner in cts/hostsidetests/jvmti looks for an expected test 674 // result for the test NN in the file results.NN.expected.txt while in the 675 // source tree each expected test result is in the NN-xxxx/expected.txt. 676 // Copy+rename them them to a temporary directory and them zip them. 677 java_genrule { 678 name: "expected_cts_outputs", 679 srcs: [ 680 "901-hello-ti-agent/expected.txt", 681 "902-hello-transformation/expected.txt", 682 "903-hello-tagging/expected.txt", 683 "904-object-allocation/expected.txt", 684 "905-object-free/expected.txt", 685 "906-iterate-heap/expected.txt", 686 "907-get-loaded-classes/expected.txt", 687 "908-gc-start-finish/expected.txt", 688 "910-methods/expected.txt", 689 "911-get-stack-trace/expected.txt", 690 "912-classes/expected.txt", 691 "913-heaps/expected.txt", 692 "914-hello-obsolescence/expected.txt", 693 "915-obsolete-2/expected.txt", 694 "917-fields-transformation/expected.txt", 695 "918-fields/expected.txt", 696 "919-obsolete-fields/expected.txt", 697 "920-objects/expected.txt", 698 "922-properties/expected.txt", 699 "923-monitors/expected.txt", 700 "924-threads/expected.txt", 701 "925-threadgroups/expected.txt", 702 "926-multi-obsolescence/expected.txt", 703 "927-timers/expected.txt", 704 "928-jni-table/expected.txt", 705 "930-hello-retransform/expected.txt", 706 "931-agent-thread/expected.txt", 707 "932-transform-saves/expected.txt", 708 "933-misc-events/expected.txt", 709 "940-recursive-obsolete/expected.txt", 710 "942-private-recursive/expected.txt", 711 "944-transform-classloaders/expected.txt", 712 "945-obsolete-native/expected.txt", 713 "947-reflect-method/expected.txt", 714 "951-threaded-obsolete/expected.txt", 715 "982-ok-no-retransform/expected.txt", 716 "983-source-transform-verify/expected.txt", 717 "984-obsolete-invoke/expected.txt", 718 "985-re-obsolete/expected.txt", 719 "986-native-method-bind/expected.txt", 720 "988-method-trace/expected.txt", 721 "989-method-trace-throw/expected.txt", 722 "990-field-trace/expected.txt", 723 "991-field-trace-2/expected.txt", 724 "992-source-data/expected.txt", 725 "993-breakpoints/expected.txt", 726 "994-breakpoint-line/expected.txt", 727 "995-breakpoints-throw/expected.txt", 728 "996-breakpoint-obsolete/expected.txt", 729 "997-single-step/expected.txt", 730 "1900-track-alloc/expected.txt", 731 "1901-get-bytecodes/expected.txt", 732 "1902-suspend/expected.txt", 733 "1903-suspend-self/expected.txt", 734 "1904-double-suspend/expected.txt", 735 "1906-suspend-list-me-first/expected.txt", 736 "1907-suspend-list-self-twice/expected.txt", 737 "1908-suspend-native-resume-self/expected.txt", 738 "1909-per-agent-tls/expected.txt", 739 "1910-transform-with-default/expected.txt", 740 "1911-get-local-var-table/expected.txt", 741 "1912-get-set-local-primitive/expected.txt", 742 "1913-get-set-local-objects/expected.txt", 743 "1914-get-local-instance/expected.txt", 744 "1915-get-set-local-current-thread/expected.txt", 745 "1916-get-set-current-frame/expected.txt", 746 "1917-get-stack-frame/expected.txt", 747 "1920-suspend-native-monitor/expected.txt", 748 "1921-suspend-native-recursive-monitor/expected.txt", 749 "1922-owned-monitors-info/expected.txt", 750 "1923-frame-pop/expected.txt", 751 "1924-frame-pop-toggle/expected.txt", 752 "1925-self-frame-pop/expected.txt", 753 "1926-missed-frame-pop/expected.txt", 754 "1927-exception-event/expected.txt", 755 "1928-exception-event-exception/expected.txt", 756 "1930-monitor-info/expected.txt", 757 "1931-monitor-events/expected.txt", 758 "1932-monitor-events-misc/expected.txt", 759 "1933-monitor-current-contended/expected.txt", 760 "1934-jvmti-signal-thread/expected.txt", 761 "1936-thread-end-events/expected.txt", 762 "1937-transform-soft-fail/expected.txt", 763 "1939-proxy-frames/expected.txt", 764 "1941-dispose-stress/expected.txt", 765 "1942-suspend-raw-monitor-exit/expected.txt", 766 "1943-suspend-raw-monitor-wait/expected.txt", 767 "1953-pop-frame/expected.txt", 768 "1958-transform-try-jit/expected.txt", 769 ], 770 out: ["expected_cts_outputs.jar"], 771 tools: ["soong_zip"], 772 cmd: "rm -rf $(genDir)/res && mkdir -p $(genDir)/res && " + 773 "for f in $(in); do x=$${f#art/test/}; " + 774 "cp $$f $(genDir)/res/results.$${x%%-*}.expected.txt; done && " + 775 "$(location soong_zip) -o $(out) -C $(genDir)/res -D $(genDir)/res", 776 } 777