<?xml version="1.0" encoding="utf-8"?>
<!--
  Copyright (C) 2013 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.
  -->
<!-- package name must be unique so suffix with "tests" so package loader doesn't ignore us -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.android.basicsyncadapter.tests"
          android:versionCode="1"
          android:versionName="1.0">

    <uses-sdk
            android:minSdkVersion="18"
            android:targetSdkVersion="19" />

    <!-- We add an application tag here just so that we can indicate that
         this package needs to link against the android.test library,
         which is needed when building test cases. -->
    <application>
        <uses-library android:name="android.test.runner" />
    </application>

    <!--
    Specifies the instrumentation test runner used to run the tests.
    -->
    <instrumentation
            android:name="android.test.InstrumentationTestRunner"
            android:targetPackage="com.example.android.basicsyncadapter"
            android:label="Tests for com.example.android.basicsyncadapter" />

</manifest>