Skip to content

New unit test runner #1075

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jan 11, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 36 additions & 5 deletions Xamarin.Android-Tests.sln
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{EFBC4DC0-D
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Locales", "Locales", "{D6BFEDF6-2F48-44B2-9553-F2F6F92531BD}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "BCL-Tests", "BCL-Tests", "{6C86878D-9EBF-45B3-9368-C0EA4026F706}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibraryResources", "tests\locales\LibraryResources\LibraryResources.csproj", "{05768F39-7BAF-43E6-971E-712F5771E88E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Android.Locale-Tests", "tests\locales\Xamarin.Android.Locale-Tests\Xamarin.Android.Locale-Tests.csproj", "{9D5C83B5-70D5-4CC2-9DB7-78B23DC8F255}"
Expand Down Expand Up @@ -49,7 +51,15 @@ Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Xamarin.Forms.Performance.I
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Forms.Performance.Integration.Droid", "tests\Xamarin.Forms-Performance-Integration\Droid\Xamarin.Forms.Performance.Integration.Droid.csproj", "{576312CC-83FF-48B1-A473-488CDC7121AD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Android.Bcl-Tests", "tests\Xamarin.Android.Bcl-Tests\Xamarin.Android.Bcl-Tests.csproj", "{E865C28E-32AF-4210-A41D-5791C39A9D85}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Android.Bcl-Tests", "tests\BCL-Tests\Xamarin.Android.Bcl-Tests\Xamarin.Android.Bcl-Tests.csproj", "{04D4E45E-0EBE-40F7-B170-0A8F4D74DCBC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestRunner.Core", "tests\TestRunner.Core\TestRunner.Core.csproj", "{3CC4E384-4985-4D93-A34C-73F69A379FA7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestRunner.NUnit", "tests\TestRunner.NUnit\TestRunner.NUnit.csproj", "{CB2335CB-0050-4020-8A05-E9614EDAA05E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestRunner.xUnit", "tests\TestRunner.xUnit\TestRunner.xUnit.csproj", "{57DC8529-2628-40C4-B27E-BAC1AE44A706}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LocalTests.NUnit", "tests\BCL-Tests\LocalTests.NUnit\LocalTests.NUnit.csproj", "{910DCD88-D50A-4AAD-BA7A-CD51AB8532BF}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down Expand Up @@ -125,10 +135,26 @@ Global
{576312CC-83FF-48B1-A473-488CDC7121AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{576312CC-83FF-48B1-A473-488CDC7121AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{576312CC-83FF-48B1-A473-488CDC7121AD}.Release|Any CPU.Build.0 = Release|Any CPU
{E865C28E-32AF-4210-A41D-5791C39A9D85}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E865C28E-32AF-4210-A41D-5791C39A9D85}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E865C28E-32AF-4210-A41D-5791C39A9D85}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E865C28E-32AF-4210-A41D-5791C39A9D85}.Release|Any CPU.Build.0 = Release|Any CPU
{04D4E45E-0EBE-40F7-B170-0A8F4D74DCBC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{04D4E45E-0EBE-40F7-B170-0A8F4D74DCBC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{04D4E45E-0EBE-40F7-B170-0A8F4D74DCBC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{04D4E45E-0EBE-40F7-B170-0A8F4D74DCBC}.Release|Any CPU.Build.0 = Release|Any CPU
{3CC4E384-4985-4D93-A34C-73F69A379FA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3CC4E384-4985-4D93-A34C-73F69A379FA7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3CC4E384-4985-4D93-A34C-73F69A379FA7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3CC4E384-4985-4D93-A34C-73F69A379FA7}.Release|Any CPU.Build.0 = Release|Any CPU
{CB2335CB-0050-4020-8A05-E9614EDAA05E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CB2335CB-0050-4020-8A05-E9614EDAA05E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CB2335CB-0050-4020-8A05-E9614EDAA05E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CB2335CB-0050-4020-8A05-E9614EDAA05E}.Release|Any CPU.Build.0 = Release|Any CPU
{57DC8529-2628-40C4-B27E-BAC1AE44A706}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{57DC8529-2628-40C4-B27E-BAC1AE44A706}.Debug|Any CPU.Build.0 = Debug|Any CPU
{57DC8529-2628-40C4-B27E-BAC1AE44A706}.Release|Any CPU.ActiveCfg = Release|Any CPU
{57DC8529-2628-40C4-B27E-BAC1AE44A706}.Release|Any CPU.Build.0 = Release|Any CPU
{910DCD88-D50A-4AAD-BA7A-CD51AB8532BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{910DCD88-D50A-4AAD-BA7A-CD51AB8532BF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{910DCD88-D50A-4AAD-BA7A-CD51AB8532BF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{910DCD88-D50A-4AAD-BA7A-CD51AB8532BF}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{2305B00D-DE81-4744-B0DA-357835CAFE5A} = {43A4FB09-279A-4138-8027-EC1E1CED2E8A}
Expand All @@ -147,5 +173,10 @@ Global
{9802CB35-0BC0-4EE1-9A81-BB40BD97945A} = {E49089E4-4CE0-475E-BE9C-0AB4E4D56EE9}
{5BDCEF07-E3D7-4E73-B025-6E43A5A7D7F1} = {E49089E4-4CE0-475E-BE9C-0AB4E4D56EE9}
{B297008B-C313-455E-B230-E119589D2D79} = {E49089E4-4CE0-475E-BE9C-0AB4E4D56EE9}
{04D4E45E-0EBE-40F7-B170-0A8F4D74DCBC} = {6C86878D-9EBF-45B3-9368-C0EA4026F706}
{3CC4E384-4985-4D93-A34C-73F69A379FA7} = {6C86878D-9EBF-45B3-9368-C0EA4026F706}
{CB2335CB-0050-4020-8A05-E9614EDAA05E} = {6C86878D-9EBF-45B3-9368-C0EA4026F706}
{57DC8529-2628-40C4-B27E-BAC1AE44A706} = {6C86878D-9EBF-45B3-9368-C0EA4026F706}
{910DCD88-D50A-4AAD-BA7A-CD51AB8532BF} = {6C86878D-9EBF-45B3-9368-C0EA4026F706}
EndGlobalSection
EndGlobal
2 changes: 1 addition & 1 deletion build-tools/scripts/RunTests.targets
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<_ApkTestProject Include="$(_TopDir)\tests\CodeGen-Binding\Xamarin.Android.JcwGen-Tests\Xamarin.Android.JcwGen-Tests.csproj" />
<_ApkTestProject Include="$(_TopDir)\tests\CodeGen-MkBundle\Xamarin.Android.MakeBundle-Tests\Xamarin.Android.MakeBundle-Tests.csproj" />
<_ApkTestProject Include="$(_TopDir)\tests\locales\Xamarin.Android.Locale-Tests\Xamarin.Android.Locale-Tests.csproj" />
<_ApkTestProject Include="$(_TopDir)\tests\Xamarin.Android.Bcl-Tests\Xamarin.Android.Bcl-Tests.csproj" />
<_ApkTestProject Include="$(_TopDir)\tests\BCL-Tests\Xamarin.Android.Bcl-Tests\Xamarin.Android.Bcl-Tests.csproj" />
<_ApkTestProject Include="$(_TopDir)\tests\Xamarin.Forms-Performance-Integration\Droid\Xamarin.Forms.Performance.Integration.Droid.csproj" />
<_ApkTestProjectAot Include="$(_TopDir)\src\Mono.Android\Test\Mono.Android-Tests.csproj" />
</ItemGroup>
Expand Down
16 changes: 11 additions & 5 deletions build-tools/scripts/TestApks.targets
Original file line number Diff line number Diff line change
Expand Up @@ -153,16 +153,22 @@

<Target Name="RunTestApks"
Condition=" '@(TestApk)' != '' ">
<Xamarin.Android.Tools.BootstrapTasks.Adb
Condition=" '@(TestApkPermission)' != '' "
Arguments="$(_AdbTarget) $(AdbOptions) shell pm grant %(TestApkPermission.Package) android.permission.%(TestApkPermission.Identity)"
ToolExe="$(AdbToolExe)"
ToolPath="$(AdbToolPath)"
/>
<PropertyGroup>
<_IncludeCategories Condition=" '$(IncludeCategories)' != '' ">include=$(IncludeCategories)</_IncludeCategories>
<_ExcludeCategories Condition=" '$(ExcludeCategories)' != '' ">exclude=$(ExcludeCategories)</_ExcludeCategories>
</PropertyGroup>
<RunInstrumentationTests
Condition=" '%(TestApk.InstrumentationType)' != ''"
Condition=" '%(TestApkInstrumentation.Identity)' != ''"
AdbTarget="$(_AdbTarget)"
AdbOptions="$(AdbOptions)"
Component="%(TestApk.Package)/%(TestApk.InstrumentationType)"
NUnit2TestResultsFile="%(TestApk.ResultsPath)"
Component="%(TestApkInstrumentation.Package)/%(TestApkInstrumentation.Identity)"
NUnit2TestResultsFile="%(TestApkInstrumentation.ResultsPath)"
InstrumentationArguments="$(_IncludeCategories);$(_ExcludeCategories)"
TestFixture="$(TestFixture)"
ToolExe="$(AdbToolExe)"
Expand Down Expand Up @@ -223,11 +229,11 @@
<Target Name="RenameApkTestCases"
Condition=" '@(TestApk)' != '' ">
<RenameTestCases
Condition=" '%(TestApk.ResultsPath)' != '' "
Condition=" '%(TestApkInstrumentation.ResultsPath)' != '' "
Configuration="$(Configuration)$(TestsAotName)"
DeleteSourceFiles="True"
DestinationFolder="$(MSBuildThisFileDirectory)..\.."
SourceFile="%(TestApk.ResultsPath)"
SourceFile="%(TestApkInstrumentation.ResultsPath)"
/>
</Target>
<Target Name="RecordApkSizes"
Expand Down
8 changes: 8 additions & 0 deletions src/Mono.Android/Test/Mono.Android-Tests.projitems
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_MonoAndroidTestPackage>Mono.Android_Tests</_MonoAndroidTestPackage>
<_PackageName>Mono.Android_Tests</_PackageName>
</PropertyGroup>
<ItemGroup>
<TestApk Include="$(OutputPath)Mono.Android_Tests-Signed.apk">
Expand All @@ -15,4 +16,11 @@
<ApkSizesResultsFilename>$(MSBuildThisFileDirectory)..\..\..\TestResult-Mono.Android_Tests-values.csv</ApkSizesResultsFilename>
</TestApk>
</ItemGroup>

<ItemGroup>
<TestApkInstrumentation Include="xamarin.android.runtimetests.TestInstrumentation">
<Package>Mono.Android_Tests</Package>
<ResultsPath>$(OutputPath)TestResult-Mono.Android_Tests.xml</ResultsPath>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need Package here? It looks like it is duplicated in all the cases.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, we do - each instrumentation is assigned to a single package, think of it as a relation between tables in SQL. It's also easier to write the batched task execution this way. It's cleaner (and yeasier) this way than to create a comma or semicolon separated list in the metadata item for TestApk

Copy link
Member

@radekdoulik radekdoulik Dec 6, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see it only used in the https://github.com/xamarin/xamarin-android/pull/1075/files#diff-6969d1e0d6b6392b34ee6cdcf770c84f and the Package is the same.

Wouldn't it be at least nice to have the Package set in a property, so that it can be set at single place?

Like:

<ItemGroup>
     <TestApk Include="$(OutputPath)Mono.Android_Tests-Signed.apk">
       <Package>$(RuntimeTestPackage)</Package>
...
<ItemGroup>
  <TestApkInstrumentation Include="xamarin.android.runtimetests.TestInstrumentation">
    <Package>$(RuntimeTestPackage)</Package>
    <ResultsPath>$(OutputPath)TestResult-Mono.Android_Tests.xml</ResultsPath>
...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Package name in property name would be nice but it doesn't work in xbuild - been there done that :) It is also used here. It's the only sensible mechanism to support multiple instrumentations per package. We can't put the information in TestApk element and there's also no sane way to "link" <TestApkInstrumetation> to a particular TestApk instance.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried that approach and, unfortunately, this is still broken. Using a property instead of the string makes UndeployApkTests target fail to process half of them when batching - this is the issue I had sometime ago while working on mono runtime builds. So, as much as it would be a nice change, we can't do it right now :(

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is weird, it worked not so long time ago. What error do you get?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No error at all... Half of the items using that property are simply ignored (in my case in UndeployApks and DeployApks which iterate over @(TestApk)) - this is the behavior I saw with the runtime stuff. It appears that sometimes xbuild fails to process properties inside item metadata.

</TestApkInstrumentation>
</ItemGroup>
</Project>
60 changes: 60 additions & 0 deletions tests/BCL-Tests/LocalTests.NUnit/LocalTests.NUnit.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{910DCD88-D50A-4AAD-BA7A-CD51AB8532BF}</ProjectGuid>
<ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<RootNamespace>LocalTests.NUnit</RootNamespace>
<AssemblyName>LocalTests.NUnit</AssemblyName>
<TargetFrameworkVersion>v8.1</TargetFrameworkVersion>
<AndroidResgenFile>Resources\Resource.designer.cs</AndroidResgenFile>
<AndroidResgenClass>Resource</AndroidResgenClass>
<MonoAndroidResourcePrefix>Resources</MonoAndroidResourcePrefix>
<MonoAndroidAssetsPrefix>Assets</MonoAndroidAssetsPrefix>
<AndroidUseLatestPlatformSdk>true</AndroidUseLatestPlatformSdk>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug</OutputPath>
<DefineConstants>DEBUG;</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AndroidLinkMode>None</AndroidLinkMode>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AndroidManagedSymbols>true</AndroidManagedSymbols>
<AndroidUseSharedRuntime>false</AndroidUseSharedRuntime>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="Mono.Android" />
<Reference Include="Xamarin.Android.NUnitLite" />
<Reference Include="System.Net" />
<Reference Include="System.Net.Http" />
</ItemGroup>
<ItemGroup>
<Compile Include="Resources\Resource.designer.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="System.Net\NetworkChangeTest.cs" />
<Compile Include="System.Net.Http\HttpClientTest.cs" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\AboutResources.txt" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\values\Strings.xml" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
</Project>
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using Android.App;

// Information about this assembly is defined by the following attributes.
// Change them to the values specific to your project.

[assembly: AssemblyTitle ("BCL")]
[assembly: AssemblyTitle ("LocalTests.NUnit")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyCompany ("")]
[assembly: AssemblyProduct ("")]
[assembly: AssemblyCopyright ("")]
[assembly: AssemblyCopyright ("Microsoft, Inc")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]

Expand Down
4 changes: 4 additions & 0 deletions tests/BCL-Tests/LocalTests.NUnit/Resources/values/Strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="library_name">LocalTests.NUnit</string>
</resources>
27 changes: 27 additions & 0 deletions tests/BCL-Tests/Xamarin.Android.Bcl-Tests/MainActivity.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
using Android.App;
using Android.Widget;
using Android.OS;

namespace UnitTestRunner
{
[Activity(Label = "Xamarin.Android UnitTestRunner", MainLauncher = true, Icon = "@mipmap/icon")]
public class MainActivity : Activity
{
int count = 1;

protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);

// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);

// Get our button from the layout resource,
// and attach an event to it
Button button = FindViewById<Button>(Resource.Id.myButton);

button.Click += delegate { button.Text = $"{count++} clicks!"; };
}
}
}

87 changes: 87 additions & 0 deletions tests/BCL-Tests/Xamarin.Android.Bcl-Tests/NUnitInstrumentation.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Reflection;
using System.Text;

using Android.App;
using Android.Runtime;
using Xamarin.Android.UnitTests;
using Xamarin.Android.UnitTests.NUnit;

namespace UnitTestRunner
{
[Instrumentation (Name = "xamarin.android.bcltests.NUnitInstrumentation")]
public class NUnitInstrumentation : NUnitTestInstrumentation
{
const string DefaultLogTag = "NUnit";

string logTag = DefaultLogTag;

protected override string LogTag {
get { return logTag; }
set { logTag = value ?? DefaultLogTag; }
}

protected NUnitInstrumentation (IntPtr handle, JniHandleOwnership transfer) : base (handle, transfer)
{
CommonInit ();
}

public NUnitInstrumentation ()
{
CommonInit ();
}

void CommonInit ()
{
TestAssembliesGlobPattern = "*_test.dll";
string cacheDir = Path.Combine (Application.Context.CacheDir.AbsolutePath, DefaultLogTag);
using (var files = typeof (NUnitInstrumentation).Assembly.GetManifestResourceStream ("bcl-tests.zip")) {
ExtractAssemblies (cacheDir, files);
}

TestsDirectory = cacheDir;
Environment.CurrentDirectory = cacheDir;
var excluded = new List<string> {
"AndroidNotWorking",
"CAS",
"InetAccess",
"MobileNotWorking",
"NotWorking",
};

if (!Environment.Is64BitOperatingSystem)
excluded.Add ("LargeFileSupport");

ExcludedCategories = excluded;
}

protected override void ConfigureFilters(NUnitTestRunner runner)
{
HashSet<string> excludedTestNames = null;
using (var s = typeof (NUnitInstrumentation).Assembly.GetManifestResourceStream ("nunit-excluded-tests.txt")) {
using (var sr = new StreamReader (s, Encoding.UTF8)) {
excludedTestNames = LoadExcludedTests (sr);
}
}

ExcludedTestNames = excludedTestNames;

base.ConfigureFilters(runner);
}

protected override IList<TestAssemblyInfo> GetTestAssemblies()
{
IList<TestAssemblyInfo> ret = base.GetTestAssemblies();

if (ret == null)
ret = new List<TestAssemblyInfo> ();

Assembly asm = typeof (BclTests.HttpClientTest).Assembly;
ret.Add (new TestAssemblyInfo (asm, asm.Location ?? String.Empty));

return ret;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,5 @@
<uses-permission android:name="android.permission.SET_TIME" />
<uses-permission android:name="android.permission.SET_TIME_ZONE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application android:allowBackup="true" android:icon="@mipmap/icon" android:label="@string/app_name">
</application>
</manifest>
<application android:allowBackup="true" android:icon="@mipmap/icon" android:label="@string/app_name"></application>
</manifest>
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using Android.App;

// Information about this assembly is defined by the following attributes.
// Change them to the values specific to your project.

[assembly: AssemblyTitle("xUnitTestRunner")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("Microsoft, Inc")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
// and "{Major}.{Minor}.{Build}.*" will update just the revision.

[assembly: AssemblyVersion("1.0.0")]

// The following attributes are used to specify the signing key for the assembly,
// if desired. See the Mono documentation for more information about signing.

//[assembly: AssemblyDelaySign(false)]
//[assembly: AssemblyKeyFile("")]
Loading