Граф коммитов

590 Коммитов

Автор SHA1 Сообщение Дата
Rolf Bjarne Kvinge 6d8eba812d
[xharness] Show links to previous test runs in html report in server mode. (#6031)
* [xharness] Change url for server mode.

* [xharness] Show links to previous test runs in html report in server mode.

This makes it much easier to see what failed in a previous test run.
2019-05-10 07:40:45 +02:00
Rolf Bjarne Kvinge b31b02002e
[xharness] Flush the log after getting results from listing simulators/devices with mlaunch. (#6030)
Now constantly refreshing the device/simulator listing log will show the
output as mlaunch writes it, which makes the impatient me happier.
2019-05-09 21:38:43 +02:00
Rolf Bjarne Kvinge c0d68b7e85
[xharness] Don't only build if asked to run using the UI. (#6026)
This makes it possible to run tests that are marked as 'BuildOnly' to see if
they've been fixed or not.

There's already a 'build' button if only a build is desired.
2019-05-09 18:22:35 +02:00
Manuel de la Pena de0691a22a
[XHarness] List the simulators and devices in the html. (#6020) 2019-05-09 15:12:52 +02:00
Rolf Bjarne Kvinge 6df96ffa9f
Merge pull request #6004 from rolfbjarne/xharness-old-simulators5
Add support for running tests with the earliest possible simulator, and use it for introspection tests.

* Add support for running tests with the earliest possible simulator
  (currently iOS 8.1, tvOS 9.1 and watchOS 2.0).
* Make the introspection tests run with the earliest possible simulator.
* Fix several binding issues (mostly missing availability attributes), and a
  couple of issues in the introspection tests themselves.

Reference: https://github.com/xamarin/xamarin-macios/issues/3668.
2019-05-09 13:20:21 +02:00
Manuel de la Pena f2f345ac25
[VSTS] Ensure that the corrent tests are run on devices. (#6019)
The change allows to state the tests that have to be ran. ATM with these
changes, the vsts pipeline must add the following to the env vars:

* tvOS device pipelines: Must add run-tvos-tests to the labels.
* iOS device pipelines: Must add run-ios-tests to the labels.

This will ensure that only the tests for the devices are ran and if the
tests pass we get a green build with no unexpected skips.
2019-05-09 13:06:49 +02:00
Rolf Bjarne Kvinge 744ec56156 Merge remote-tracking branch 'origin/master' into xharness-old-simulators5 2019-05-08 15:05:05 +02:00
Rolf Bjarne Kvinge 8c4e284ac7
[xharness] Fix finding labels in pull requests. (#6009)
Looks like this regressed in
61bf0db817 (diff-b01110f512ec4a442e37213063a11758R39);
since then no manual labels have been applied to test runs in public jenkins.
2019-05-08 15:04:28 +02:00
Rolf Bjarne Kvinge 62f0d29429
[xharness] Improve logging about labels found. (#6007) 2019-05-07 15:57:17 +02:00
Rolf Bjarne Kvinge c97d267faf
[runtime] Implement support for an arm64 dynamic registrar. (#6005)
This is required in order to execute downloaded assemblies (or any other
assembly not known at compile time) on device.
2019-05-07 07:35:39 +02:00
Rolf Bjarne Kvinge fa9125dcd0 [xharness] Don't throw NRE if a simulator doesn't exist.
We automatically create simulators when needed, but it won't work if the
simulator runtime isn't installed. So handle the case where a test might not
have a simulator to execute in correctly.
2019-05-06 17:00:39 +02:00
Rolf Bjarne Kvinge 3a83936dfd [xharness] Group simulator tasks by simulator UDID instead of platform.
Since we may have multiple simulators for each platform now.
2019-05-06 17:00:39 +02:00
Rolf Bjarne Kvinge 61b2dc817b [xharness] Make old simulator tests opt-in by using a github label. 2019-05-06 17:00:39 +02:00
Rolf Bjarne Kvinge 13497d3bab [xharness] Verify that tasks can be run in aggregated mode.
If tasks can't be run (because there aren't any available simulators), then
the task will now fail gracefully with a useful failure message.
2019-05-06 17:00:39 +02:00
Rolf Bjarne Kvinge e48955268f [xharness] Add support for running tests with the earliest possible simulator, and use it for introspection tests. 2019-05-06 17:00:33 +02:00
Rolf Bjarne Kvinge 682f54da87
[linker] Mark protocol interfaces when using the dynamic registrar. (#5988)
* [linker] Mark protocol interfaces when using the dynamic registrar.

Fixes this monotouch-test failure when using the dynamic registrar and the
linker at the same time:

    [FAIL] RegistrarTest.TestProtocolRegistration :   UIApplicationDelegate/17669
      Expected: True
      But was:  False

* [tests] Adjust test after linker change.

All Xamarin.iOS apps will now link with QuickLook when using the dynamic
registrar, because NSUrl implements a QuickLook protocol:
fcac64ad6e/src/foundation.cs (L5445).

Adjust LinkAll_Frameworks accordingly, and add a new test that verifies that
the old behavior (not linking with QuickLook when linking all assemblies) is
still correct.
2019-05-06 13:21:02 +02:00
Rolf Bjarne Kvinge 4300aa8d03
Fix/improve marshalling of out/ref parameters, arrays, Classes and Selectors. Fixes #5171.
* Share much more marshalling code between the dynamic and static registrar
  (by refactoring code into separate functions used by both).
* Fix an issue with multiple out/ref parameters in the dynamic registrar.
* Throw an error instead of silently ignoring out/ref parameter types we don't
  completely understand in the dynamic registrar.
* Fix returning Class/SEL out/ref parameters in the static registrar.
* Fix returning NSString out/ref parameters in the dynamic registrar.
* Add/fix support for out/ref arrays everywhere.
* Fix support for the various supported out/ref parameter types in the
  generator.
* Add lots of tests.

Fixes https://github.com/xamarin/xamarin-macios/issues/5171.
2019-04-30 16:28:39 +02:00
Rolf Bjarne Kvinge 6c3674658a
Download the Mono SDK archive for macOS as well. (#5953)
* Download the Mono SDK archive for macOS as well.

* [tests] Don't forget the tests.
2019-04-26 16:44:29 +02:00
Rolf Bjarne Kvinge 67ed868f5f [tests] Add tests for failing to marshal from managed array to NSArray, 2019-04-26 11:20:15 +02:00
Manuel de la Pena 56ae1da5b9
[XHarness] Allow to ignore the iOS 32 tests and show the devices that are connected.
Two changes to improve CI:

1. List the devices connected to the bot.
2. Allow to ignore the 32 devices.
2019-04-25 17:38:10 +02:00
Rolf Bjarne Kvinge bd457212d5
[tests] Add sample tester. (#5870)
* [tests] Add sample tester.

Add a unit project that looks for iOS/macOS/tvOS sample projects in several
repositories, and builds them all.

* [tests][sampletester] Remove known issue which has now been fixed.

* [tests] Only run sample tests on CI in Azure Devops.

* Remove the possibility of automatically running the sample tests with
  xharness (so the sample tests won't run on PR bots or internal bots when the
  'run-all-tests' label is added). It's still possible to run the sample tests
  manually from the xharness web UI.

* Automatically trigger the sample test run in Azure Devops if the
  'run-sample-tests' label is applied to a PR (and that PR is executed on
  internal Jenkins).

* Fix typo.

* Fix path.

* Verbose output to track down scheduling failure.

* Bump maccore to get improved debug spew.

Diff: f527c9c526..f89d74b165

* [tests][sampletester] Fix build for TodoWCF.
2019-04-25 17:18:43 +02:00
Manuel de la Pena c9b834ddaa
[XHarness] Use better names for BCL watchOS tests. (#5867)
Ensure we do not use the target dir because that does not represent the
name of the test because it is shared by all of them.

Fixes https://github.com/xamarin/xamarin-macios/issues/5157
2019-04-08 19:22:22 +02:00
Manuel de la Pena 9cd5fd4ba2 [XHarness] Fix the generation of the fsharp today sln. (#5860)
Because we are missing a separator, the comparison results in a true,
when it is a substring BUT NOT in the same path.
2019-04-05 15:42:41 -05:00
Manuel de la Pena dd11ba5d6c
[XHarness] Fix issues building the today extensions for the BCL tests apps. (#5854) 2019-04-05 14:07:39 +02:00
Manuel de la Pena 411d673ead
[XHarness] Fix IntermediateOutputPath getting inserted in the wrong place. (#5841) 2019-04-03 17:29:07 +02:00
Alexander Köplinger e142ee7a57 [xharness] Display test assemblies contained in a BCL test group (#5814)
* [xharness] Display test assemblies contained in a BCL test group

* PR feedback
2019-03-29 10:17:39 +01:00
Vincent Dondain eb73f3ce6e
[xharness] Fix BuildOnly logic (#5813)
https://github.com/xamarin/xamarin-macios/pull/4884 introduced the logic of only building certain `RunTestTask`.
This was meant to disable iOS Extensions as part of a fix to https://github.com/xamarin/maccore/issues/1008.
However this didn't quite work and iOS extensions were still running (and failing).
The reason being that `BuildOnly` was set to a `RunDeviceTask` that's added to a list which is then given to `CreateTestVariations` which creates new instances of `RunDeviceTask`.
We now propagate `BuildOnly` to the new variation instance.
2019-03-28 09:23:40 -04:00
Manuel de la Pena 9bb4d2d2d5
[XHarness] Ensure we do not crash if the framework node is missing. (#5792) 2019-03-20 12:49:09 +01:00
Manuel de la Pena 1615b28ed1
[XHarness] Reduce the number of test applications for the BCL tests. (#5768)
This commit improves the state of the BCL testing in the following ways:

1. Improve the device tets running. Less apps, faster results.
2. WatchOS apps are left as they were to ensure that we do not have deplouyment/run issues.

We now support the ignore files per assembly name to simplify the
tracking of the ignored tests. All
2019-03-20 12:10:18 +01:00
Rolf Bjarne Kvinge 45f72fcbbe
[xharness] Remove bitcode from tvOS apps. (#5781)
We don't need the bitcode for testing, it makes test apps bigger (so big that
the Apple TV might refuse to install them).
2019-03-18 15:00:21 +01:00
Rolf Bjarne Kvinge 6447d0a498
[xharness] Add UI option to include (or not) tests that might put up permission dialogs. (#5780) 2019-03-18 12:52:06 +01:00
Manuel de la Pena 1cadb1bd2f
[XHarness] Add an extra configuration option for the tests matrix to match those in QA. (#5761)
New combinations have only been added to add-gc-test-matrix, mini and mscorlib
2019-03-14 11:37:37 +01:00
Manuel de la Pena 014aa6b2c9
[XHarness] Add an extra configuration option for the tests matrix to match those in QA. (Thumb) (#5763) 2019-03-13 19:00:49 +01:00
Rolf Bjarne Kvinge 5c1fa7dae6
[xharness] Add UI option to not automatically uninstall apps after running a test on device. (#5747)
This is useful when I want to re-run a test manually to debug failures. In
particular on the watch it's annoying to have to re-install the app.
2019-03-11 11:17:10 +01:00
Rolf Bjarne Kvinge ddc8b3dde2
[xharness] Simplify/unify the code to load simulators/devices. (#5746) 2019-03-08 19:31:53 +01:00
Rolf Bjarne Kvinge 99e727c90b
Merge pull request #4904 from xamarin/mono-2018-10
Bump to mono:2018-10
2019-03-08 11:06:50 +01:00
Manuel de la Pena bc3b5a2d43
[Tests] Fix the tests.sln to include the new test projects. (#5720)
Update the sun and ensure that the GUID of the projects are always the same to make the .sln file happy.
2019-03-07 13:14:53 +01:00
Alexander Köplinger 97b5aef47e Merge branch 'master' into mono-2018-10 2019-02-28 21:18:49 +01:00
Manuel de la Pena c2967c0d50
[XHarness] Ensure we do a nuget restore on bcl imported tests. Fixes #5383 (#5574)
* [XHarness] Ensure we do a nuget restore on bcl imported tests. Fixes #5383

We need to ensure that a nuget restore is done, otherwise we might have
build issues with missing libs.

Fixes https://github.com/xamarin/xamarin-macios/issues/5383
2019-02-28 18:27:01 +01:00
Alexander Köplinger bbbf15a72b Merge branch 'master' into mono-2018-10
# Conflicts:
#	tests/bcl-test/System.Core/System.Core.csproj.template
#	tests/bcl-test/System.Net.Http/System.Net.Http-mac.csproj.template
#	tests/bcl-test/System.ServiceModel.Web/System.ServiceModel.Web.csproj.template
#	tests/bcl-test/System.Xml.Linq/System.Xml.Linq-mac.csproj.template
#	tests/bcl-test/System/System.csproj.template
2019-02-28 13:06:00 +01:00
Manuel de la Pena 2619d8f5ca
[XHarness] Remove duplicated runs of certain bcl tests. (#5668)
Most of the tests are comming from the downloaded SDK, but some of them
have to reman because they are running/passing more tests. This
differences are due to how the tests that come from mono are written
(missing resources etc..)

Please take a look at
https://devdiv.visualstudio.com/DevDiv/_workitems/edit/794210/ for the
list of bcl tests and test number differences.
2019-02-27 11:08:04 +01:00
Manuel de la Pena 9b2d22727b
[XHarness] Remove the test runs that are not needed in mac os x. (#5671)
The new test dlls already cover some of the tests. This PR removes those
that have the same amount or more passes in the new style tests.

Please read
https://devdiv.visualstudio.com/DevDiv/_workitems/edit/794210/ to see
the run results.

Related PR: https://github.com/xamarin/xamarin-macios/pull/5668
2019-02-27 11:07:15 +01:00
Alexander Köplinger 1e9de96789 Merge branch 'master' into mono-2018-10 2019-02-24 10:20:44 +01:00
Alexander Köplinger 9dd4276f09 Update xharness mono-native config to expect static linking for frameworks 2019-02-22 21:17:52 +01:00
Rolf Bjarne Kvinge e5724788b6
[xharness] Improve rendering of newlines and tabs in html report. (#5648) 2019-02-22 09:59:30 +01:00
Rolf Bjarne Kvinge 156e8995fa
[xharness] Use existing (and pre-defined) defines for bitcode platforms. (#5650)
It's harder to forget setting the define if it's already set by default.

Fixes the mini tests on watchOS device:

    [FAIL] JitTests.Exceptions : System.Reflection.TargetInvocationException : Exception has been thrown by the target of an invocation.
    ----> System.ExecutionEngineException : Attempting to JIT compile method 'ExceptionTests:test_1_basic_filter_catch ()' while running in aot-only mode. See https://docs.microsoft.com/xamarin/ios/internals/limitations for more information.

since BITCODE wasn't defined everywhere it needed to be.
2019-02-21 18:08:33 +01:00
Alexander Köplinger 777a406838 Merge branch 'master' into mono-2018-10 2019-02-20 14:29:27 +01:00
Rolf Bjarne Kvinge cf6771e612
[xharness] Improve app installation on device. (#5628)
* Instead of calculating a timeout based on the app size and an estimated
  transfer speed, keep transferring as long as mlaunch outputs something to
  stdout. The actual transfer speed can vary a lot, in particular if
  installing to multiple nearby watches simultaneously.

* Improve progress text in the html report during installation to include more
  statistics for the impatient.
2019-02-20 06:33:30 +01:00
Rolf Bjarne Kvinge 3a1ac0e31f
[xharness] Do not include actual bitcode when building watch extensions. (#5627)
It makes watch extensions very big, and extremely slow to upload, when we have
no use for the bitcode since we won't publish anything.
2019-02-20 06:30:57 +01:00
Alexander Köplinger 75ea3ca9bc Merge branch 'master' into mono-2018-10
# Conflicts:
#	external/mono
#	tests/xharness/Extensions.cs
2019-02-18 18:04:06 +01:00