diff options
59 files changed, 252 insertions, 893 deletions
diff --git a/profman/profman.cc b/profman/profman.cc index f6b145aa76..8f35a76b6d 100644 --- a/profman/profman.cc +++ b/profman/profman.cc @@ -216,61 +216,32 @@ class ProfMan FINAL { } } - bool has_profiles = !profile_files_.empty() || !profile_files_fd_.empty(); - bool has_reference_profile = !reference_profile_file_.empty() || - FdIsValid(reference_profile_file_fd_); - - if (!test_profile_.empty()) { - if (test_profile_method_ratio_ > 100) { - Usage("Invalid ratio for --generate-test-profile-method-ratio"); - } - if (test_profile_class_ratio_ > 100) { - Usage("Invalid ratio for --generate-test-profile-class-ratio"); - } - return; + // Validate global consistency between file/fd options. + if (!profile_files_.empty() && !profile_files_fd_.empty()) { + Usage("Profile files should not be specified with both --profile-file-fd and --profile-file"); + } + if (!reference_profile_file_.empty() && FdIsValid(reference_profile_file_fd_)) { + Usage("Reference profile should not be specified with both " + "--reference-profile-file-fd and --reference-profile-file"); } if (!apk_files_.empty() && !apks_fd_.empty()) { Usage("APK files should not be specified with both --apk-fd and --apk"); } - if (!create_profile_from_file_.empty()) { - if (apk_files_.empty() && apks_fd_.empty()) { - Usage("APK files must be specified"); - } - if (dex_locations_.empty()) { - Usage("DEX locations must be specified"); - } - if (reference_profile_file_.empty() && !FdIsValid(reference_profile_file_fd_)) { - Usage("Reference profile must be specified with --reference-profile-file or " - "--reference-profile-file-fd"); - } - if (has_profiles) { - Usage("Profile must be specified with --reference-profile-file or " - "--reference-profile-file-fd"); - } - return; - } - // --dump-only and --dump-classes may be specified with only --reference-profiles present. - if (!dump_only_ && !dump_classes_ && !has_profiles) { + } + + ProfileAssistant::ProcessingResult ProcessProfiles() { + // Validate that at least one profile file was passed, as well as a reference profile. + if (profile_files_.empty() && profile_files_fd_.empty()) { Usage("No profile files specified."); } - if (!profile_files_.empty() && !profile_files_fd_.empty()) { - Usage("Profile files should not be specified with both --profile-file-fd and --profile-file"); - } - if (!dump_only_ && !dump_classes_ && !has_reference_profile) { + if (reference_profile_file_.empty() && !FdIsValid(reference_profile_file_fd_)) { Usage("No reference profile file specified."); } - if (!reference_profile_file_.empty() && FdIsValid(reference_profile_file_fd_)) { - Usage("Reference profile should not be specified with both " - "--reference-profile-file-fd and --reference-profile-file"); - } if ((!profile_files_.empty() && FdIsValid(reference_profile_file_fd_)) || - (!dump_only_ && !profile_files_fd_.empty() && !FdIsValid(reference_profile_file_fd_))) { + (!profile_files_fd_.empty() && !FdIsValid(reference_profile_file_fd_))) { Usage("Options --profile-file-fd and --reference-profile-file-fd " "should only be used together"); } - } - - ProfileAssistant::ProcessingResult ProcessProfiles() { ProfileAssistant::ProcessingResult result; if (profile_files_.empty()) { // The file doesn't need to be flushed here (ProcessProfiles will do it) @@ -287,11 +258,15 @@ class ProfMan FINAL { void OpenApkFilesFromLocations(std::vector<std::unique_ptr<const DexFile>>* dex_files) { bool use_apk_fd_list = !apks_fd_.empty(); if (use_apk_fd_list) { - CHECK(apk_files_.empty()); + // Get the APKs from the collection of FDs. CHECK_EQ(dex_locations_.size(), apks_fd_.size()); - } else { + } else if (!apk_files_.empty()) { + // Get the APKs from the collection of filenames. CHECK_EQ(dex_locations_.size(), apk_files_.size()); - CHECK(!apk_files_.empty()); + } else { + // No APKs were specified. + CHECK(dex_locations_.empty()); + return; } static constexpr bool kVerifyChecksum = true; for (size_t i = 0; i < dex_locations_.size(); ++i) { @@ -350,6 +325,11 @@ class ProfMan FINAL { } int DumpProfileInfo() { + // Validate that at least one profile file or reference was specified. + if (profile_files_.empty() && profile_files_fd_.empty() && + reference_profile_file_.empty() && !FdIsValid(reference_profile_file_fd_)) { + Usage("No profile files or reference profile specified."); + } static const char* kEmptyString = ""; static const char* kOrdinaryProfile = "=== profile ==="; static const char* kReferenceProfile = "=== reference profile ==="; @@ -446,6 +426,11 @@ class ProfMan FINAL { } int DumpClasses() { + // Validate that at least one profile file or reference was specified. + if (profile_files_.empty() && profile_files_fd_.empty() && + reference_profile_file_.empty() && !FdIsValid(reference_profile_file_fd_)) { + Usage("No profile files or reference profile specified."); + } // Open apk/zip files and and read dex files. MemMap::Init(); // for ZipArchive::OpenFromFd // Open the dex files to get the names for classes. @@ -538,7 +523,23 @@ class ProfMan FINAL { } int CreateProfile() { - MemMap::Init(); // for ZipArchive::OpenFromFd + // Validate parameters for this command. + if (apk_files_.empty() && apks_fd_.empty()) { + Usage("APK files must be specified"); + } + if (dex_locations_.empty()) { + Usage("DEX locations must be specified"); + } + if (reference_profile_file_.empty() && !FdIsValid(reference_profile_file_fd_)) { + Usage("Reference profile must be specified with --reference-profile-file or " + "--reference-profile-file-fd"); + } + if (!profile_files_.empty() || !profile_files_fd_.empty()) { + Usage("Profile must be specified with --reference-profile-file or " + "--reference-profile-file-fd"); + } + // for ZipArchive::OpenFromFd + MemMap::Init(); // Open the profile output file if needed. int fd = reference_profile_file_fd_; if (!FdIsValid(fd)) { @@ -607,6 +608,14 @@ class ProfMan FINAL { } int GenerateTestProfile() { + // Validate parameters for this command. + if (test_profile_method_ratio_ > 100) { + Usage("Invalid ratio for --generate-test-profile-method-ratio"); + } + if (test_profile_class_ratio_ > 100) { + Usage("Invalid ratio for --generate-test-profile-class-ratio"); + } + // ShouldGenerateTestProfile confirms !test_profile_.empty(). int profile_test_fd = open(test_profile_.c_str(), O_CREAT | O_TRUNC | O_WRONLY, 0644); if (profile_test_fd < 0) { LOG(ERROR) << "Cannot open " << test_profile_ << strerror(errno); diff --git a/runtime/base/mutex.cc b/runtime/base/mutex.cc index 7bba944ca8..b93b293435 100644 --- a/runtime/base/mutex.cc +++ b/runtime/base/mutex.cc @@ -1167,6 +1167,8 @@ void Locks::Init() { expected_mutexes_on_weak_ref_access_.push_back(dex_lock_); classlinker_classes_lock_->SetShouldRespondToEmptyCheckpointRequest(true); expected_mutexes_on_weak_ref_access_.push_back(classlinker_classes_lock_); + jni_libraries_lock_->SetShouldRespondToEmptyCheckpointRequest(true); + expected_mutexes_on_weak_ref_access_.push_back(jni_libraries_lock_); InitConditions(); } diff --git a/runtime/interpreter/unstarted_runtime.cc b/runtime/interpreter/unstarted_runtime.cc index c7e84420d3..66f14b99d8 100644 --- a/runtime/interpreter/unstarted_runtime.cc +++ b/runtime/interpreter/unstarted_runtime.cc @@ -955,6 +955,59 @@ void UnstartedRuntime::UnstartedThreadLocalGet( } } +void UnstartedRuntime::UnstartedThreadCurrentThread( + Thread* self, ShadowFrame* shadow_frame, JValue* result, size_t arg_offset ATTRIBUTE_UNUSED) { + if (CheckCallers(shadow_frame, + { "void java.lang.Thread.init(java.lang.ThreadGroup, java.lang.Runnable, " + "java.lang.String, long)", + "void java.lang.Thread.<init>()", + "void java.util.logging.LogManager$Cleaner.<init>(" + "java.util.logging.LogManager)" })) { + // Whitelist LogManager$Cleaner, which is an unstarted Thread (for a shutdown hook). The + // Thread constructor only asks for the current thread to set up defaults and add the + // thread as unstarted to the ThreadGroup. A faked-up main thread peer is good enough for + // these purposes. + Runtime::Current()->InitThreadGroups(self); + jobject main_peer = + self->CreateCompileTimePeer(self->GetJniEnv(), + "main", + false, + Runtime::Current()->GetMainThreadGroup()); + if (main_peer == nullptr) { + AbortTransactionOrFail(self, "Failed allocating peer"); + return; + } + + result->SetL(self->DecodeJObject(main_peer)); + self->GetJniEnv()->DeleteLocalRef(main_peer); + } else { + AbortTransactionOrFail(self, + "Thread.currentThread() does not support %s", + GetImmediateCaller(shadow_frame).c_str()); + } +} + +void UnstartedRuntime::UnstartedThreadGetNativeState( + Thread* self, ShadowFrame* shadow_frame, JValue* result, size_t arg_offset ATTRIBUTE_UNUSED) { + if (CheckCallers(shadow_frame, + { "java.lang.Thread$State java.lang.Thread.getState()", + "java.lang.ThreadGroup java.lang.Thread.getThreadGroup()", + "void java.lang.Thread.init(java.lang.ThreadGroup, java.lang.Runnable, " + "java.lang.String, long)", + "void java.lang.Thread.<init>()", + "void java.util.logging.LogManager$Cleaner.<init>(" + "java.util.logging.LogManager)" })) { + // Whitelist reading the state of the "main" thread when creating another (unstarted) thread + // for LogManager. Report the thread as "new" (it really only counts that it isn't terminated). + constexpr int32_t kJavaRunnable = 1; + result->SetI(kJavaRunnable); + } else { + AbortTransactionOrFail(self, + "Thread.getNativeState() does not support %s", + GetImmediateCaller(shadow_frame).c_str()); + } +} + void UnstartedRuntime::UnstartedMathCeil( Thread* self ATTRIBUTE_UNUSED, ShadowFrame* shadow_frame, JValue* result, size_t arg_offset) { result->SetD(ceil(shadow_frame->GetVRegDouble(arg_offset))); diff --git a/runtime/interpreter/unstarted_runtime_list.h b/runtime/interpreter/unstarted_runtime_list.h index 96b35e4e9c..929b747840 100644 --- a/runtime/interpreter/unstarted_runtime_list.h +++ b/runtime/interpreter/unstarted_runtime_list.h @@ -66,6 +66,8 @@ V(StringFactoryNewStringFromString, "java.lang.String java.lang.StringFactory.newStringFromString(java.lang.String)") \ V(StringFastSubstring, "java.lang.String java.lang.String.fastSubstring(int, int)") \ V(StringToCharArray, "char[] java.lang.String.toCharArray()") \ + V(ThreadCurrentThread, "java.lang.Thread java.lang.Thread.currentThread()") \ + V(ThreadGetNativeState, "int java.lang.Thread.nativeGetStatus(boolean)") \ V(UnsafeCompareAndSwapLong, "boolean sun.misc.Unsafe.compareAndSwapLong(java.lang.Object, long, long, long)") \ V(UnsafeCompareAndSwapObject, "boolean sun.misc.Unsafe.compareAndSwapObject(java.lang.Object, long, java.lang.Object, java.lang.Object)") \ V(UnsafeGetObjectVolatile, "java.lang.Object sun.misc.Unsafe.getObjectVolatile(java.lang.Object, long)") \ diff --git a/runtime/interpreter/unstarted_runtime_test.cc b/runtime/interpreter/unstarted_runtime_test.cc index 16b7b55e00..98a17e41f9 100644 --- a/runtime/interpreter/unstarted_runtime_test.cc +++ b/runtime/interpreter/unstarted_runtime_test.cc @@ -1039,5 +1039,50 @@ TEST_F(UnstartedRuntimeTest, FloatConversion) { ShadowFrame::DeleteDeoptimizedFrame(shadow_frame); } +TEST_F(UnstartedRuntimeTest, ThreadCurrentThread) { + Thread* self = Thread::Current(); + ScopedObjectAccess soa(self); + + JValue result; + ShadowFrame* shadow_frame = ShadowFrame::CreateDeoptimizedFrame(10, nullptr, nullptr, 0); + + StackHandleScope<1> hs(self); + ClassLinker* class_linker = Runtime::Current()->GetClassLinker(); + Handle<mirror::Class> thread_class = hs.NewHandle( + class_linker->FindClass(self, "Ljava/lang/Thread;", ScopedNullHandle<mirror::ClassLoader>())); + ASSERT_TRUE(thread_class.Get() != nullptr); + ASSERT_TRUE(class_linker->EnsureInitialized(self, thread_class, true, true)); + + // Negative test. In general, currentThread should fail (as we should not leak a peer that will + // be recreated at runtime). + PrepareForAborts(); + + { + Transaction transaction; + Runtime::Current()->EnterTransactionMode(&transaction); + UnstartedThreadCurrentThread(self, shadow_frame, &result, 0); + Runtime::Current()->ExitTransactionMode(); + ASSERT_TRUE(self->IsExceptionPending()); + ASSERT_TRUE(transaction.IsAborted()); + self->ClearException(); + } + + ShadowFrame::DeleteDeoptimizedFrame(shadow_frame); +} + +TEST_F(UnstartedRuntimeTest, LogManager) { + Thread* self = Thread::Current(); + ScopedObjectAccess soa(self); + + StackHandleScope<1> hs(self); + ClassLinker* class_linker = Runtime::Current()->GetClassLinker(); + Handle<mirror::Class> log_manager_class = hs.NewHandle( + class_linker->FindClass(self, + "Ljava/util/logging/LogManager;", + ScopedNullHandle<mirror::ClassLoader>())); + ASSERT_TRUE(log_manager_class.Get() != nullptr); + ASSERT_TRUE(class_linker->EnsureInitialized(self, log_manager_class, true, true)); +} + } // namespace interpreter } // namespace art diff --git a/runtime/runtime.h b/runtime/runtime.h index 30b1756d5d..4a0169db68 100644 --- a/runtime/runtime.h +++ b/runtime/runtime.h @@ -662,6 +662,8 @@ class Runtime { RuntimeCallbacks* GetRuntimeCallbacks(); + void InitThreadGroups(Thread* self); + private: static void InitPlatformSignalHandlers(); @@ -672,7 +674,6 @@ class Runtime { bool Init(RuntimeArgumentMap&& runtime_options) SHARED_TRYLOCK_FUNCTION(true, Locks::mutator_lock_); void InitNativeMethods() REQUIRES(!Locks::mutator_lock_); - void InitThreadGroups(Thread* self); void RegisterRuntimeNativeMethods(JNIEnv* env); void StartDaemonThreads(); diff --git a/runtime/thread.cc b/runtime/thread.cc index 7ee0cd1d3f..3abb9fca7b 100644 --- a/runtime/thread.cc +++ b/runtime/thread.cc @@ -880,9 +880,19 @@ void Thread::CreatePeer(const char* name, bool as_daemon, jobject thread_group) // available (in the compiler, in tests), we manually assign the // fields the constructor should have set. if (runtime->IsActiveTransaction()) { - InitPeer<true>(soa, thread_is_daemon, thread_group, thread_name.get(), thread_priority); + InitPeer<true>(soa, + tlsPtr_.opeer, + thread_is_daemon, + thread_group, + thread_name.get(), + thread_priority); } else { - InitPeer<false>(soa, thread_is_daemon, thread_group, thread_name.get(), thread_priority); + InitPeer<false>(soa, + tlsPtr_.opeer, + thread_is_daemon, + thread_group, + thread_name.get(), + thread_priority); } peer_thread_name.Assign(GetThreadName()); } @@ -892,17 +902,72 @@ void Thread::CreatePeer(const char* name, bool as_daemon, jobject thread_group) } } +jobject Thread::CreateCompileTimePeer(JNIEnv* env, + const char* name, + bool as_daemon, + jobject thread_group) { + Runtime* runtime = Runtime::Current(); + CHECK(!runtime->IsStarted()); + + if (thread_group == nullptr) { + thread_group = runtime->GetMainThreadGroup(); + } + ScopedLocalRef<jobject> thread_name(env, env->NewStringUTF(name)); + // Add missing null check in case of OOM b/18297817 + if (name != nullptr && thread_name.get() == nullptr) { + CHECK(Thread::Current()->IsExceptionPending()); + return nullptr; + } + jint thread_priority = GetNativePriority(); + jboolean thread_is_daemon = as_daemon; + + ScopedLocalRef<jobject> peer(env, env->AllocObject(WellKnownClasses::java_lang_Thread)); + if (peer.get() == nullptr) { + CHECK(Thread::Current()->IsExceptionPending()); + return nullptr; + } + + // We cannot call Thread.init, as it will recursively ask for currentThread. + + // The Thread constructor should have set the Thread.name to a + // non-null value. However, because we can run without code + // available (in the compiler, in tests), we manually assign the + // fields the constructor should have set. + ScopedObjectAccessUnchecked soa(Thread::Current()); + if (runtime->IsActiveTransaction()) { + InitPeer<true>(soa, + soa.Decode<mirror::Object>(peer.get()), + thread_is_daemon, + thread_group, + thread_name.get(), + thread_priority); + } else { + InitPeer<false>(soa, + soa.Decode<mirror::Object>(peer.get()), + thread_is_daemon, + thread_group, + thread_name.get(), + thread_priority); + } + + return peer.release(); +} + template<bool kTransactionActive> -void Thread::InitPeer(ScopedObjectAccess& soa, jboolean thread_is_daemon, jobject thread_group, - jobject thread_name, jint thread_priority) { +void Thread::InitPeer(ScopedObjectAccessAlreadyRunnable& soa, + ObjPtr<mirror::Object> peer, + jboolean thread_is_daemon, + jobject thread_group, + jobject thread_name, + jint thread_priority) { jni::DecodeArtField(WellKnownClasses::java_lang_Thread_daemon)-> - SetBoolean<kTransactionActive>(tlsPtr_.opeer, thread_is_daemon); + SetBoolean<kTransactionActive>(peer, thread_is_daemon); jni::DecodeArtField(WellKnownClasses::java_lang_Thread_group)-> - SetObject<kTransactionActive>(tlsPtr_.opeer, soa.Decode<mirror::Object>(thread_group)); + SetObject<kTransactionActive>(peer, soa.Decode<mirror::Object>(thread_group)); jni::DecodeArtField(WellKnownClasses::java_lang_Thread_name)-> - SetObject<kTransactionActive>(tlsPtr_.opeer, soa.Decode<mirror::Object>(thread_name)); + SetObject<kTransactionActive>(peer, soa.Decode<mirror::Object>(thread_name)); jni::DecodeArtField(WellKnownClasses::java_lang_Thread_priority)-> - SetInt<kTransactionActive>(tlsPtr_.opeer, thread_priority); + SetInt<kTransactionActive>(peer, thread_priority); } void Thread::SetThreadName(const char* name) { diff --git a/runtime/thread.h b/runtime/thread.h index e500e0b9e4..d5fd9e9e51 100644 --- a/runtime/thread.h +++ b/runtime/thread.h @@ -1174,6 +1174,12 @@ class Thread { return false; } + static jobject CreateCompileTimePeer(JNIEnv* env, + const char* name, + bool as_daemon, + jobject thread_group) + REQUIRES_SHARED(Locks::mutator_lock_); + private: explicit Thread(bool daemon); ~Thread() REQUIRES(!Locks::mutator_lock_, !Locks::thread_suspend_count_lock_); @@ -1189,8 +1195,12 @@ class Thread { void CreatePeer(const char* name, bool as_daemon, jobject thread_group); template<bool kTransactionActive> - void InitPeer(ScopedObjectAccess& soa, jboolean thread_is_daemon, jobject thread_group, - jobject thread_name, jint thread_priority) + static void InitPeer(ScopedObjectAccessAlreadyRunnable& soa, + ObjPtr<mirror::Object> peer, + jboolean thread_is_daemon, + jobject thread_group, + jobject thread_name, + jint thread_priority) REQUIRES_SHARED(Locks::mutator_lock_); // Avoid use, callers should use SetState. Used only by SignalCatcher::HandleSigQuit, ~Thread and diff --git a/test/044-proxy/build b/test/044-proxy/build deleted file mode 100755 index ab956e26e1..0000000000 --- a/test/044-proxy/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 2017 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. - -./default-build "$@" --experimental java-8 diff --git a/test/900-hello-plugin/build b/test/900-hello-plugin/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/900-hello-plugin/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/901-hello-ti-agent/build b/test/901-hello-ti-agent/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/901-hello-ti-agent/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/902-hello-transformation/build b/test/902-hello-transformation/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/902-hello-transformation/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/903-hello-tagging/build b/test/903-hello-tagging/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/903-hello-tagging/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/904-object-allocation/build b/test/904-object-allocation/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/904-object-allocation/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/905-object-free/build b/test/905-object-free/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/905-object-free/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/906-iterate-heap/build b/test/906-iterate-heap/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/906-iterate-heap/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/907-get-loaded-classes/build b/test/907-get-loaded-classes/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/907-get-loaded-classes/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/908-gc-start-finish/build b/test/908-gc-start-finish/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/908-gc-start-finish/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/909-attach-agent/build b/test/909-attach-agent/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/909-attach-agent/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/910-methods/build b/test/910-methods/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/910-methods/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/911-get-stack-trace/build b/test/911-get-stack-trace/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/911-get-stack-trace/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/912-classes/build b/test/912-classes/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/912-classes/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/913-heaps/build b/test/913-heaps/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/913-heaps/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/914-hello-obsolescence/build b/test/914-hello-obsolescence/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/914-hello-obsolescence/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/915-obsolete-2/build b/test/915-obsolete-2/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/915-obsolete-2/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/916-obsolete-jit/build b/test/916-obsolete-jit/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/916-obsolete-jit/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/917-fields-transformation/build b/test/917-fields-transformation/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/917-fields-transformation/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/918-fields/build b/test/918-fields/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/918-fields/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/919-obsolete-fields/build b/test/919-obsolete-fields/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/919-obsolete-fields/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/920-objects/build b/test/920-objects/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/920-objects/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/921-hello-failure/build b/test/921-hello-failure/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/921-hello-failure/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/922-properties/build b/test/922-properties/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/922-properties/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/923-monitors/build b/test/923-monitors/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/923-monitors/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/924-threads/build b/test/924-threads/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/924-threads/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/925-threadgroups/build b/test/925-threadgroups/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/925-threadgroups/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/926-multi-obsolescence/build b/test/926-multi-obsolescence/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/926-multi-obsolescence/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/927-timers/build b/test/927-timers/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/927-timers/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/928-jni-table/build b/test/928-jni-table/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/928-jni-table/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/929-search/build b/test/929-search/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/929-search/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/930-hello-retransform/build b/test/930-hello-retransform/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/930-hello-retransform/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/931-agent-thread/build b/test/931-agent-thread/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/931-agent-thread/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/932-transform-saves/build b/test/932-transform-saves/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/932-transform-saves/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/933-misc-events/build b/test/933-misc-events/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/933-misc-events/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/934-load-transform/build b/test/934-load-transform/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/934-load-transform/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/935-non-retransformable/build b/test/935-non-retransformable/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/935-non-retransformable/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/936-search-onload/build b/test/936-search-onload/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/936-search-onload/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/937-hello-retransform-package/build b/test/937-hello-retransform-package/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/937-hello-retransform-package/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/938-load-transform-bcp/build b/test/938-load-transform-bcp/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/938-load-transform-bcp/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/939-hello-transformation-bcp/build b/test/939-hello-transformation-bcp/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/939-hello-transformation-bcp/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/940-recursive-obsolete/build b/test/940-recursive-obsolete/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/940-recursive-obsolete/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/941-recurive-obsolete-jit/build b/test/941-recurive-obsolete-jit/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/941-recurive-obsolete-jit/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/942-private-recursive/build b/test/942-private-recursive/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/942-private-recursive/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/943-private-recursive-jit/build b/test/943-private-recursive-jit/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/943-private-recursive-jit/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/944-transform-classloaders/build b/test/944-transform-classloaders/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/944-transform-classloaders/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/945-obsolete-native/build b/test/945-obsolete-native/build deleted file mode 100755 index 898e2e54a2..0000000000 --- a/test/945-obsolete-native/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 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. - -./default-build "$@" --experimental agents diff --git a/test/946-obsolete-throw/build b/test/946-obsolete-throw/build deleted file mode 100755 index ebbc368c38..0000000000 --- a/test/946-obsolete-throw/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 2017 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. - -./default-build "$@" --experimental agents diff --git a/test/947-reflect-method/build b/test/947-reflect-method/build deleted file mode 100755 index ebbc368c38..0000000000 --- a/test/947-reflect-method/build +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright 2017 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. - -./default-build "$@" --experimental agents diff --git a/test/etc/default-build b/test/etc/default-build index 3d7b7dd046..431896631d 100755 --- a/test/etc/default-build +++ b/test/etc/default-build @@ -79,7 +79,7 @@ JACK_EXPERIMENTAL_ARGS["agents"]="-D jack.java.source.version=1.8 -D jack.androi JACK_EXPERIMENTAL_ARGS["default-methods"]="-D jack.java.source.version=1.8 -D jack.android.min-api-level=24" JACK_EXPERIMENTAL_ARGS["lambdas"]="-D jack.java.source.version=1.8 -D jack.android.min-api-level=24" JACK_EXPERIMENTAL_ARGS["method-handles"]="-D jack.java.source.version=1.7 -D jack.android.min-api-level=o-b1" -JACK_EXPERIMENTAL_ARGS["java-8"]="-D jack.java.source.version=1.8 -D jack.android.min-api-level=24" +JACK_EXPERIMENTAL_ARGS[${DEFAULT_EXPERIMENT}]="-D jack.java.source.version=1.8 -D jack.android.min-api-level=24" declare -A SMALI_EXPERIMENTAL_ARGS SMALI_EXPERIMENTAL_ARGS["default-methods"]="--api-level 24" @@ -90,6 +90,7 @@ declare -A JAVAC_EXPERIMENTAL_ARGS JAVAC_EXPERIMENTAL_ARGS["default-methods"]="-source 1.8 -target 1.8" JAVAC_EXPERIMENTAL_ARGS["lambdas"]="-source 1.8 -target 1.8" JAVAC_EXPERIMENTAL_ARGS["method-handles"]="-source 1.8 -target 1.8" +# We need to leave javac at default 1.7 so that dx will continue to work JAVAC_EXPERIMENTAL_ARGS[${DEFAULT_EXPERIMENT}]="-source 1.7 -target 1.7" JAVAC_EXPERIMENTAL_ARGS["agents"]="-source 1.8 -target 1.8" diff --git a/tools/cpp-define-generator/presubmit-check-files-up-to-date b/tools/cpp-define-generator/presubmit-check-files-up-to-date index 67a702adc7..0301a3e679 100755 --- a/tools/cpp-define-generator/presubmit-check-files-up-to-date +++ b/tools/cpp-define-generator/presubmit-check-files-up-to-date @@ -22,7 +22,11 @@ GEN_TOOL=cpp-define-generator-data if ! which "$GEN_TOOL"; then - echo "ERROR: Please build cpp-define-generator-data or source build/envsetup.sh" >&2 + if [[ -z $ANDROID_BUILD_TOP ]]; then + echo "ERROR: Can't find '$GEN_TOOL' in \$PATH. Perhaps try 'source build/envsetup.sh' ?" >&2 + else + echo "ERROR: Can't find '$GEN_TOOL' in \$PATH. Perhaps try 'make $GEN_TOOL' ?" >&2 + fi exit 1 fi |