<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2018 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
  -->

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.ike.tests">

    <uses-permission android:name="android.permission.INTERNET"/>

    <!--
       'debuggable=true' is required to properly load mockito jvmti dependencies,
        otherwise it gives the following error at runtime:

        Openjdkjvmti plugin was loaded on a non-debuggable Runtime.
        Plugin was loaded too late to change runtime state to DEBUGGABLE.
    -->
    <application android:label="FrameworksIkeTests" android:debuggable="true">
        <uses-library android:name="android.test.runner" />
    </application>

    <!--
        To run all tests:
            adb shell am instrument -w \
            com.android.ike.tests/androidx.test.runner.AndroidJUnitRunner

        To run a single class test:
            adb shell am instrument -e class com.android.ike.unit.FooUnitTest \
            -w com.android.ike.tests/androidx.test.runner.AndroidJUnitRunner
    -->
    <instrumentation android:name="androidx.test.runner.AndroidJUnitRunner"
        android:targetPackage="com.android.ike.tests"
        android:label="Frameworks Ike Tests" />
</manifest>


