Deleting the directory when the test completes just makes it harder to copy-
paste the failing command.
Any directories created by Cache.CreateTemporaryDirectory will automatically
be deleted at the next test run, so this won't use up disk space.
In the old days we could only set them (but not read them back) so we
used methods. Today it's possible to expose them as nicer properties.
Even nicer Alex's PR#1707 makes it possible to do those changes without
needing any manual code (outside of the binding file).
reference:
!missing-selector! GCControllerButtonInput::pressedChangedHandler not bound
!missing-selector! GCControllerButtonInput::valueChangedHandler not bound
!missing-selector! GCMotion::valueChangedHandler not bound
* [generator] Have WrapAttribute generate virtual members
WrapAttribute now has a boolean optional parameter named isVirtual,
this instructs the generator to add the virtual keyword to generated
members.
This is useful when fixing breaking changes so we can keep the wrong
signature generated instead of having manual code files.
* [docs] Add docs about virtual to WrapAttribute
https://bugzilla.xamarin.com/show_bug.cgi?id=51514
The generator used a list of strings (selector names) to determine
what methods are needed to be generated. Unfortunately this info
is not available (null) when looking for it on [Wrap] decorated members
so it would only generate the first [Bind] it would find. Now it uses
a HashSet of MemberInformation objects to compare.
The removal of SCNView.HitTest inside scenekit.cs was done because
this is now correctly generated from SCNSceneRenderer interface
Besides the obvious reasons, this is also useful when testing warnings, since
by making warnings errors, mtouch/mmp will exit a lot faster (and the tests
will finish faster).
Generate the list of frameworks in each platform based on the information in
the makefiles and use that information to remove the remaining framework-
specific ifdefs in the generator.
There are still platform-specific checks when determining the UINamespaces and
ImplicitNamespaces, to make sure the generated code doesn't change. Ideally
we'll remove the platform-specific logic at some point, but that's not the
goal with this commit.
Generator diff: https://gist.github.com/rolfbjarne/6803740e37a5976e139afb28e16b4ccf
The generated generator-frameworks.cs: https://gist.github.com/rolfbjarne/6d1a3452db4cecb8f163c4d91d622082
Cache the result of log parsing. This avoids re-reading gigabytes of log files
every second when the web page requests an updated version of the report.
Change how the registrar calls mtouch a bit, so that we don't use API that
throws an exception with the entire output in the exception message.
The problem is that if the process has a lot of output, XS slows down to a
crawl when showing the exception message in the test result pad.
Instead print the output to the terminal.
* [tests/link sdk] Remove defines that are set by default.
And these defines varies by platform, which means they're not correct for tvOS/watchOS.
* [tests/link sdk] Fix watchOS version check.
* [generator] Explicitly load NSNumber from the api assembly for core builds.
This fixes an issue where we'd run into a type comparison failure otherwise,
when using the `BindAs` attribute in the api definition for our platform
assemblies, because we end up with NSNumber loaded from two different
assemblies:
Foundation.NSNumber, **temp**, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
Foundation.NSNumber, **core**, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
* [generator] Explicitly load NSValue too from the api assembly for core builds.
Change how the registrar calls mtouch a bit, so that we don't use API that
throws an exception with the entire output in the exception message.
The problem is that if the process has a lot of output, XS slows down to a
crawl when showing the exception message in the test result pad.
Instead print the output to the terminal.
Make the top-level test name for equivalent tests between iOS and Mac have the
same name, so that these tests are grouped together.
For instance: we used to have a System-Mac tests and System tests (the latter
being iOS tests), now there are just System tests, and nested inside are both
the Mac and iOS System tests.