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

5671 Коммитов

Автор SHA1 Сообщение Дата
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
Manuel de la Pena cad438dcfa
[XHarness] Reenable the System.Configuration tests on mac os x. (#5702)
Reenable the tests and add support to ignoring certain tests depending
on the version of the mac os x that is under test. The
System.Configuration tests make no sense in Modern.

Fixes https://github.com/xamarin/maccore/issues/1189
Fixes https://github.com/xamarin/maccore/issues/1190
2019-03-07 13:09:56 +01:00
Tim Miller 567b60b4f4 Add Additional Metadata Generation During Builds (#5718)
Updates the jenkinsFile to include generating ci-checkout.json and dependency-info.json.

ci-checkout.json is a list of all of the repositories included in the workspace of the project and their respective hashs.

dependency-info.json includes all of the info in ci-checkout.json, as well as a scan of the containing cs/fsproj files and their containing package and project references.
2019-03-07 08:42:13 +01:00
Sebastien Pouliot 3cedf9d6ba
Bump XI and XM versions after branching for d16-1 (#5730) 2019-03-06 16:20:57 -05:00
Sebastien Pouliot 45eb105da4
[uikit] Simplify UIApplication.Main wrt NSString usage (#5729)
The lifespan of `new NSString (x).Handle` can be shorter than expected
and there's a better (lighter) alternative to get that handle
2019-03-06 16:09:08 -05:00
Sebastien Pouliot 2eb178c7cd
[apidiff] Remove the `_*` noise in XM diffs (#5721)
Fix comparison so the XM profiles do not report _inexistent_ changes for `_Attribute`, `_EventInfo` and `_Exception`. That noise makes it harder to review the diffs (for us) and is incorrect in our published API diffs (for release notes).

Also
* Delete .unzip.stamp on clean
* Skip classic XM diff (binaries won't change)
2019-03-06 11:02:50 -05:00
Chris Hamons 35842ffc5e
[generator] Use WeakDelegate in EventAndDelegateMismatch check (#5726)
- Fixed #5724
- In some cases, such as surfacing an instance created from ObjC the
typed delegates can return null even if a instance is assigned (if it is not bound as a managed type).
- This means you can accidentally override the delegate without an exception.
- We can use WeakDelegate in our checks
- One type in our build complained, since it did not have a WeakDelegate. Easy to add.
2019-03-06 09:35:54 -06:00
Sebastien Pouliot e53b94d27c
[corefoundation] Add missing CFStringTransform API. Fixes #5705 (#5712)
Since there's no `NSString` or .NET equivalent. This requires a mutable
`CFString` so the new type `CFMutableString` is also added.

* Switch `CFString` base type to `NativeObject` to ease `CFMutableString` implementation;
* Add unit tests for `CFMutableString` both for `CFStringTransform` and some unicode variety to `CFStringAppendCharacters tests` wrt `numChars` being unicode or not (bytes)

Fixes https://github.com/xamarin/xamarin-macios/issues/5705
2019-03-06 08:04:17 -05:00
Vincent Dondain 85b720246a
[msbuild][tests] Clarify FrameworkListTest failure message (#5689) 2019-03-05 13:54:03 -05:00
Michiel Sioen afbe2ca9ef [msbuild] In 'GenerateDebugSymbols', verify that the folder we're touching into exists (#5706)
- Previously, for `Device|Debug` when passing `--dsym=false` to the mtouch extra arguments you would get this [MSB3375 failure](https://gist.github.com/VincentDondain/dce853be2acbce16011adf43a200eb09#file-gistfile1-txt-L5600).
- We are now checking that the folder we're trying to touch into exists, preventing the build failure.
2019-03-05 11:49:19 -05:00
Rolf Bjarne Kvinge 9168a63698
[tests] Adjust system check when running tests on older macOS versions (we don't need simulators) (#5713)
Fixes this warning:

    make: *** tools/siminstaller: No such file or directory.  Stop.
    Can't check if simulators are available, because siminstaller failed to build.
2019-03-05 17:18:18 +01:00
Manuel de la Pena e3153dcfbe
[Xharness] Reenable MonoPoxis tests on mac os x. (#5711)
Fixes https://github.com/xamarin/maccore/issues/1190
Fixes https://github.com/xamarin/maccore/issues/1188
2019-03-05 11:26:59 +01:00
Manuel de la Pena 92ebe5b64a
[XHarness] Reenable SystemServiceModelTests on mac os x. (#5710)
Fixes  https://github.com/xamarin/maccore/issues/1198
2019-03-04 18:17:56 +01:00
Manuel de la Pena 568d19944d
[XHarness] Reneable SystemIdentityModelTests on mac os x. (#5708)
Fixes  https://github.com/xamarin/maccore/issues/1194
2019-03-04 17:42:07 +01:00
Manuel de la Pena 10912633e3
[Xharness] Reenable the xunit based System.Data tests on mac os x. (#5709)
Fixes https://github.com/xamarin/maccore/issues/1208
2019-03-04 17:41:37 +01:00
Alex Soto d2a4ecfcaa
[generator] Fix CMSampleBuffer usage in 3rd party bindings (#5707)
Fixes xamarin/xamarin-macios#5692

3rd party bindings cannot use the `.ctor(IntPtr, bool)` of
`CMSampleBuffer` because it is `private`, they must use
`Runtime.GetINativeObject<T> (IntPtr, bool)` instead.
2019-03-04 08:13:34 -05:00
Manuel de la Pena 98d9fc2cf3
[XHarness] Reenable MonoCSharpTests on mac os x. (#5696)
Fixes https://github.com/xamarin/maccore/issues/1186
2019-03-04 10:56:22 +01:00
Rolf Bjarne Kvinge 9c9ef46028
Bump maccore to get mlaunch improvements. (#5682)
Commit list for xamarin/maccore:

Diff: a5782e3dc7...3105682752
2019-03-04 08:41:48 +01:00
Sebastien Pouliot 78859b97b8
[apidiff] Fix location for XI (when comparing), otherwise we get the full (not PR) diff (#5700) 2019-03-03 12:46:47 -05:00
Manuel de la Pena 365fd66609
[Xharness] Reenable System.Data.Sqlite tests on mac os x. (#5697)
Tests are reenabled and a small typo fixed.

Fixes https://github.com/xamarin/maccore/issues/1187
2019-03-01 17:52:55 +01:00
Manuel de la Pena 1b1792cb43
[XHarness] Reenable the System.IO.Compression and (#5694)
System.IO.Compression.FileSystem tests on mac os x.

Reenable the tests that can be ran without failures.

Fixes https://github.com/xamarin/maccore/issues/1195
Fixes https://github.com/xamarin/maccore/issues/1146
2019-03-01 17:02:42 +01:00
Manuel de la Pena 3d1c3e5c6b
[XHarness] Fix makefile to take into account the importer sources. (#5695)
Ensure that when the importer sources are changed, xharness is
recompiled.
2019-03-01 17:02:08 +01:00
Manuel de la Pena de82764456
[XHarness] Reneable the System.Transaction tests on Mac OS X. (#5686)
Reenable the tests and ensure that the failing ones on Modern are
ignored. The bcl tests on mac os x can now make a diff between the
version (Moder/Full) to ignore files so that tests that work in a
version are not ignored in the other one.

Fixes https://github.com/xamarin/maccore/issues/1200
2019-03-01 10:29:21 +01:00
Rolf Bjarne Kvinge 590524243c
Improve MachO support to read LC_BUILD_VERSION and static libraries. (#5685)
* MachO.cs: Support reading LC_BUILD_VERSION

Newer SDKs set this instead of LC_VERSION_MIN_*

* MachO.cs: Add support for reading Mach-O files inside ar archives.

* [tests] Augment ProductTests.MinOSVersion to test static libraries as well.

* Adjust enum field names to match our naming scheme.
2019-03-01 08:00:53 +01:00
Sebastien Pouliot 507d37eef6
[apidiff] Fix the comparison with the previous commit (#5690)
The removal of the XML files broke the comparison with the previous
commit. It did NOT fail the original PR because the targets were
in the previous commit.

And it will fail this PR because the previous commit still does not
have the targets - but it _should_ be fine, once merged, for all
future PR.

Fixes https://github.com/xamarin/maccore/issues/1452
2019-02-28 20:49:10 -05:00
Chris Hamons 2df9e4cdd3
[mac][msbuild] Add MigrateToNewXMTFI to convert TFI to new Xamarin.Mac.NET (opt-in) (#5654)
- https://github.com/xamarin/xamarin-macios/issues/5480
- Related: https://github.com/NuGet/NuGet.Client/pull/2572

To allow nuget to target XM Full we need to have a unique TFI (TargetFrameworkIdentifier).

However, that's a really scary change to force, so let's opt-in for now. You can set

<MigrateToNewXMIdentifier>true</MigrateToNewXMIdentifier> in your project or

MigrateToNewXMIdentifier=true msbuild project.csproj

to try it out. We can convert the opt-in to an opt-out with sufficient validation \ releases.
2019-02-28 16:33:25 -06: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
Rolf Bjarne Kvinge 564628a289
Fix ARM64-based CPU detection logic; take #3. (#5683)
The previous implementation was broken, because:

* We called GetIsARM64CallingConvention in Runtime's static constructor.
* Runtime.Arch hadn't been set yet in the static constructor, which means it
  was Arch.DEVICE (0).
* This meant GetIsARM64CallingConvention would return true on iOS/tvOS x86-64
  simulator.

So delay the initialization of the IsARM64CallingConvention field until we've
been initialized.
2019-02-28 17:31:10 +01:00
Manuel de la Pena a5232f8c5e
[Tests] Make test inconclusive if httpbin does not return the headers. (#5684)
In some cases, httpbin might return errors or other results. In that
case, we cannot assert that the auth headers are not present. We set the
test to inconclusive to ensure that we do not fail due to the external
page.

Fixes https://github.com/xamarin/maccore/issues/1453
2019-02-28 15:35:36 +01:00
Manuel de la Pena 297aebef60
[Tests] Fix the make rule that generate the test projects. Fixes #5638 (#5666)
Fixed the rule to generate the tests. This branch adds missing test dlls
that the make rule check, or it will give an error stating that tests
are missing.

This feature should be added to xharness and an issue was created for
that: https://github.com/xamarin/maccore/issues/1447

Fixes https://github.com/xamarin/xamarin-macios/issues/5638
2019-02-28 11:52:04 +01:00
Manuel de la Pena 9c35ba28d1
[XHarness] Allow all cultures in the bcl tests. #5640 (#5667)
Some of the bcl tests need certain cultures. Add them to the templates
so that tests do not fail due to a missing culture.

Fixes https://github.com/xamarin/xamarin-macios/issues/5640
2019-02-28 11:48:35 +01:00
Manuel de la Pena 8972d43416
[XHarness] Remove not longer needed .csproj on the bcl tests. (#5676)
Followin PRs:

* Mac removal https://github.com/xamarin/xamarin-macios/pull/5671
* iOS/TvOS/WatchOS removal https://github.com/xamarin/xamarin-macios/pull/5668

We do not longer needs theses .csprojs since the tests are not longer
ran.
2019-02-28 11:45:19 +01:00
Manuel de la Pena 7318306f50
[Tests] Fix failign mtouch tests after bcl test were removed. (#5681)
After commit 2619d8f5ca the System.Core
tests does not longer exists. Which makes the mtouch test that depends
on it, fail too. This changes the test to use a present test.
2019-02-28 11:42:11 +01:00
Vincent Dondain f8d00ee167
[xm][msbuild] Fix full profile FrameworkList file (#5674)
* Fixes https://devdiv.visualstudio.com/DevDiv/_workitems/edit/801867
  System.Memory.dll not being copied anywhere when Roslyn package is referenced
  The issue was that the XM FrameworkList was shared for the 2 profiles and there are differences.
  The Full profile for instance doesn't have `System.Memory` and that causes some issues with Nuget package references.
* Updated tests to report issues against the XM Full and Mobile Framework lists
* Now using 2 separate XM FrameworkList files (updated makefile) since the list of assemblies is different and that's expected by the mono team.
2019-02-27 12:38:38 -05:00
Sebastien Pouliot ad3b70e9c7
[api-diff] Remove apidiff XML reference files. Fixes #4891 (#5663)
Instead download the assemblies (part of existing bundle.zip) of the
current release and generate the XML locally (no storage in github)
before doing the diff against the newer, just built, assemblies.

reference: https://github.com/xamarin/xamarin-macios/issues/4891
2019-02-27 08:59:53 -05: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 a04048fd68
[XHarness] Fix small typo that made the Mono.Security tests of mac appear in a diff part of the DOM. (#5669) 2019-02-27 11:07:34 +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
Rolf Bjarne Kvinge 5cb8b84e73
Simplify ARM64-based CPU detection logic. (#5661)
* We only need to do a runtime check on watchOS.
* On watchOS assume we're on a ARM64-based CPU as long as we're not on a
  ARMv7k CPU.

Fixes an issue where we failed to detect a 64-bit iOS CPU as ARM64-based (in
particular iPhone X's ARM64v8).
2019-02-27 07:31:33 +01:00
Chris Hamons f53f048e47
[mac] Hide NSApp.Window for NSApp.DangerousWindow and note risk (#5658)
- https://github.com/xamarin/xamarin-macios/issues/5350
- NSApplication.Window has been the source of internal and external
pain over the years.
- Let's make our opinion that it should not be used more visible.
2019-02-25 08:59:41 -06:00
Bernhard Urban e2ec9422f2 [mtouch] use "--aot=interp,full,[...]" for every assembly if interpreter mixed mode is enabled (#5655)
The Mono AOT compiler maintains a set of signatures of compiled methods.
Those signatures are necessary to emit wrappers to enable the transition
from interpreter->AOT code. Thus, they must be collected for each
assembly.
2019-02-25 09:24:34 -05:00
Rolf Bjarne Kvinge 2a272a311d
[siminstaller] Improve failure scenarios. (#5662)
* Improve the behavior when we fail to download the .dvtdownloadableindex file
  to report a "Not Found" if we get a "Forbidden" (403) response, since that's
  what it really is.
* Improve the behavior when we fail to download the .dvtdownloadableindex file
  to check if the requested simulators are already installed instead of always
  failing. This makes it possible to manually install the required simulators
  if needed (Apple might not have published simulators for the Xcode version
  we're using), and this would allow any checks to pass if the required
  simulators are already installed.
* Improve the code to modify the PackageInfo XML to not use simple string
  replacement (it's too fragile), use proper XML parsing instead.
* Fix "time left" math, I have no idea what my previous math was doing.
2019-02-25 07:33:37 +01:00
Manuel de la Pena 7cfbaf019a
[XHarness] Ensure that the correct values are shown on the test reports. (#5649)
Fixes #5639

The results reported in the xharness run do not add up. Total tests
should include the number of skipped tests. This change ensures that the
tests results correctly add up.

Example nunit fixed tests: [NUnit] Mono SystemIOCompressionTests (total should
be 24, passed 4, ignored 20).
Example xunit fixed tests: [xUnit] Mono SystemDataXunit (total should be
1061, passed 1054, ignored 7).

Fixes https://github.com/xamarin/xamarin-macios/issues/5639
2019-02-22 17:12:07 +01:00
Chris Hamons 5680a39c77
[xm] Support UseHardenendRuntime in code signing (#5536)
- Solves SDK portion of https://github.com/xamarin/xamarin-macios/issues/4288
2019-02-22 09:06:58 -06:00
Rolf Bjarne Kvinge 1a3a3fbade
Add tool to download and install simulators, and use it to provision the iOS 10.3 simulator if needed. Fixes maccore#1442. (#5645)
* [siminstaller] Added tool to install simulators from the command line.

* Auto-provision the iOS 10.3 simulator.
2019-02-22 10:39:16 +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 4a69a8c238
[mtouch] Compile .bc files into .o files before passing them to the clang. (#5651)
Clang will automatically compile .bc files into object code if needed, but
it's done serially. If we do the compilation ourselves, it'll be parallelized.

This makes the dontlink tests build in half the time when building for watchOS
/ Release (it drops from ~15 minutes to ~7 minutes).
2019-02-22 09:57:20 +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
Rolf Bjarne Kvinge d19620c35f
[mtouch] Pass outfile= to the AOT compiler when compiling to full llvm as well. (#5647)
The AOT compiler uses the 'outfile' as the base for a temporary .bc file. If
it's not set, the path to the assembly is used as the base instead. This does
not work if we compile the same assembly to multiple architectures (for
instance armv7k+arm64_32), because the temporary file will clash between those
AOT compilations.

This is not a problem for iOS (armv7+armv7s) because we don't compile to
bitcode (.bc files) on iOS.
2019-02-21 16:38:30 +01:00
Rolf Bjarne Kvinge 81038fc319
[mtouch] Hide linker warning about mismatched watchOS versions. (#5646) 2019-02-21 15:44:17 +01:00