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

729 Коммитов

Автор SHA1 Сообщение Дата
Rolf Bjarne Kvinge 9d8ce86e4c [tests] Ignore tests correctly in today extensions. 2017-02-10 16:39:33 +01:00
Rolf Bjarne Kvinge 9d3f4da6f2 [xharness] Process "$(ProjectDir)" in mtouch extra args when cloning project files. 2017-02-10 16:39:33 +01:00
Rolf Bjarne Kvinge 90d8b0b29c [xharness] Resolve HintPaths to their real location when cloning project files. 2017-02-10 16:39:32 +01:00
Rolf Bjarne Kvinge 751bc53a27 [xharness] Add web ui to select/deselect/run specific sets of tests. 2017-02-10 16:39:31 +01:00
Rolf Bjarne Kvinge 4f92eb1365 [xharness] Remove duplicated code. 2017-02-10 16:39:31 +01:00
Rolf Bjarne Kvinge 9d672e86ce [xharness] Make the top-level test names identical between iOS and Mac.
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.
2017-02-10 16:39:31 +01:00
Rolf Bjarne Kvinge 068133f97b [xharness] Make exception handler handle more code. 2017-02-10 16:39:30 +01:00
Rolf Bjarne Kvinge c44be5db87 [xharness] Add favicon.ico support. 2017-02-10 16:39:30 +01:00
Rolf Bjarne Kvinge 769e11fb58 [mtouch tests] Add new test for architectures in frameworks. 2017-02-10 16:39:30 +01:00
Rolf Bjarne Kvinge 5bea8577a4 [mtouch tests] Automatically pass --extension to mtouch if we create a temporary extension. 2017-02-10 16:39:29 +01:00
Rolf Bjarne Kvinge ccd1c2ce4d [mtouch tests] Remove debug spew. 2017-02-10 16:39:29 +01:00
Rolf Bjarne Kvinge b78d6fa429 [mtouch tests] Fix typo. 2017-02-10 16:39:29 +01:00
Rolf Bjarne Kvinge 70eefd7e80 [tests] Default today extension containers to iOS 8.0+.
It makes no sense to default to anything lower, since extensions were
introduced in iOS 8.0.
2017-02-10 16:39:28 +01:00
Rolf Bjarne Kvinge 90c49d94ea [test templates] Build fat today container by default.
This makes code sharing work better, since extensions are usually fat.
2017-02-10 16:39:28 +01:00
Rolf Bjarne Kvinge 6d744417dd [mtouch tests] Improve rebuild test. 2017-02-10 16:39:26 +01:00
Rolf Bjarne Kvinge d38656b912 [mtouch tests] Bump the timeout for a few tests from 1 to 5 minutes. 2017-02-10 16:39:25 +01:00
Rolf Bjarne Kvinge 2973b99f51 [mtouch tests] Add support for passing --nostrip to mtouch.
And use it to make tests run faster when we don't need to strip code.
2017-02-10 16:39:20 +01:00
Rolf Bjarne Kvinge d5ebc46391 [mtouch tests] Format output spew better to make it easier to parse by mere humans. 2017-02-10 16:39:20 +01:00
Rolf Bjarne Kvinge 2a21419197 [mtouch tests] Add code sharing test. 2017-02-10 16:39:19 +01:00
Rolf Bjarne Kvinge 62c08fd233 [mtouch tests] Allow creating temporary apps/extensions multiple times without re-creating temporary directories.
Allow creating temporary apps/extensions multiple times without re-creating temporary directories.

This makes it possible for tests to call CreateTemporaryApp|Extension multiple
times with different code, and have only the actual managed assembly change
between each time (which is useful for tests that verifies that cached builds
are used properly).
2017-02-10 16:39:19 +01:00
Rolf Bjarne Kvinge 2f8064a6e4 [mtouch tests] Check if plist has changed before writing it.
This is important for rebuild tests checking filestamps.
2017-02-10 16:39:19 +01:00
Rolf Bjarne Kvinge a1a141b4ca [mtouch tests] Use a different default app name for service extensions.
Otherwise it might end up clashing with the main app's name, preventing code sharing.
2017-02-10 16:39:18 +01:00
Rolf Bjarne Kvinge 18a6bf4690 [mtouch tests] Store app extensions as MTouchTool instances. 2017-02-10 16:39:18 +01:00
Rolf Bjarne Kvinge 85f28fbd59 [mtouch] Warn if mtouch loads an assembly from a different location than requested.
Warn if mtouch loads an assembly from a different location than requested
(which might be because there are multiple assemblies with the same name).

Also rework the MT0023 check a bit by explicitly loading the root assembly
first, and then detecting if any loaded assemblies matches the root assembly.
This results in code that's a bit more obvious, and it also works correctly
with extensions (previously the entire MT0023 check was skipped for
extensions).
2017-02-10 16:39:15 +01:00
Rolf Bjarne Kvinge 29f28516b5 [tests] Don't concat environment variables, since this depends on each environment variable.
It looks like this was needed for changing PATH some time ago, but we don't
change PATH anymore for any test.
2017-02-10 16:39:12 +01:00
Rolf Bjarne Kvinge e715ef9265 [link all tests] Improve a few tests' investigation skills when looking for assemblies.
Assemblies can now be in frameworks.

Assemblies can also be in container apps (in their root directory, as well as
in frameworks in the container app).

So use the simplest brute-force method to find assemblies: look everywhere.
2017-02-10 14:46:31 +01:00
Rolf Bjarne Kvinge f31fe09886 [link sdk tests] Determine chubbyness by actual observation.
Determine if an app is fat or not by inspecting the executable, instead of
guessing based on which directories are present (which has now changed).
2017-02-10 14:46:31 +01:00
Rolf Bjarne Kvinge 15438d3a79 [mtouch tests] We don't create symlinks for assemblies anymore, so update tests accordingly. 2017-02-10 14:46:30 +01:00
Rolf Bjarne Kvinge aa55661d3d [xharness] Add test cases for different assembly build targets. 2017-02-10 14:46:30 +01:00
Rolf Bjarne Kvinge 8a6d7cd0dd [tests] Add test for bug #43689. 2017-02-10 14:46:29 +01:00
Rolf Bjarne Kvinge e73d71cbe8 [mtouch] Build into arch-specific temporary directories, instead of having arch-specific filenames.
This makes dylibs automatically have the correct dylib id, which means no
fixups are required.

For instance: we'd build libpinvokes.armv7.dylib from libpinvokes.armv7.m,
which by default ends up with a dylib id of "libpinvokes.armv7.dylib". With
this fix no change is required, since we now build armv7/libpinvokes.dylib
from armv7/libpinvokes.m.
2017-02-10 14:42:09 +01:00
Rolf Bjarne Kvinge 5787bc0ef2 [mtouch] Validate the assembly build targets. 2017-02-10 14:29:11 +01:00
Rolf Bjarne Kvinge a590612751 [mtouch] Add an --assembly-build-target option. 2017-02-10 14:29:11 +01:00
Rolf Bjarne Kvinge ddedfc2798 [mtouch] Make the architecture a suffix instead of infix for aotdata filenames.
Make the architecture a suffix instead of infix for aotdata filenames so that
it's easier to compute the filename from the assembly name without passing
printf-style format strings around.
2017-02-10 14:29:09 +01:00
Rolf Bjarne Kvinge a07085aafa [mtouch] Create a custom AssemblyCollection class.
Create a custom AssemblyCollection class that contains a dictionary with
assembly identity (name) -> Assembly mapping.

This also means that we can detect if we end up loading multiple assemblies
with the same identity, and show an error in that case (even if that case
should never happen since we cache assemblies based on the identity, it's nice
to have code that ensures it).
2017-02-10 14:15:35 +01:00
Rolf Bjarne Kvinge 6545897ccf [tests] Add test for MT0003. 2017-02-10 14:03:25 +01:00
Rolf Bjarne Kvinge 209ac7e58e [tests] Some simulator builds can disable the linker to build slightly faster. 2017-02-10 14:03:25 +01:00
Rolf Bjarne Kvinge 0e27b4a812 [mtouch tests] Add sleep to fix #47696. (#1662)
Sometimes, when the stars align, fastsim can build an app in less than a
second.

Coupled with the fact that HFS+'s filestamp resolution is 1 second, we can't
assert that filestamps change without making sure enough time passes by.

So sleep for a second.

https://bugzilla.xamarin.com/show_bug.cgi?id=47696
2017-02-09 11:53:18 +01:00
Chris Hamons 2c835c5294 [XM] Add hybrid/standard AOT option and improve AOT code (#1650)
* [XM] Seperate parsing from compilation in AOT code

- Parsing command line options was too entangled with actually compiling
- Refactor test code to centralize Compile, reducing some complexity of tests
- Groundwork for hybrid vs non-hybrid AOT work

* Add hybrid/standard AOT support

* Add xammac_tests to makefile/jenkins

* Add flag to force AOT

* Disable MonoTouchFixtures.Contacts.ContactStoreTest.GetUnifiedContacts on XM due to prompts on Jenkins
2017-02-08 13:40:48 -06:00
Rolf Bjarne Kvinge a22cda6eb3 [mtouch tests] Adjust FastDev_LinkWithTest after fe17d5db9f. (#1633)
We disabled fastdev for tvOS/watchOS projects with binding projects in
bac02538, and that broke the FastDev_LinkWithTest:

    Errors and Failures:
    1) Test Failure : Xamarin.MTouch.FastDev_LinkWithTest(TVOS)
         Binding symbol not in executable
      Expected: no item String ending with " T _theUltimateAnswer"
      But was:  < ... >

So adjust the test to match the new behavior.
2017-02-03 11:02:07 +01:00
Rolf Bjarne Kvinge e3eedb62d3 [mmptest] Use the right location for mono64. (#1630) 2017-02-03 09:24:35 +01:00
Rolf Bjarne Kvinge 68415e88c5 [mtouch] Fix build error with fastdev & libpinvokes & paths with spaces. (#1618) 2017-02-02 18:09:42 +01:00
Chris Hamons 1db1ce5a40 [XM] Add BCL tests (#1447) 2017-02-01 11:05:08 -05:00
Timothy Risi 48682b27aa Resource files for mac should be copied to the app bundle (#1500)
Resource files for mac should be copied to the app bundle
* Move the Satellite code used by mac to tools/common/Assembly.cs
* Add EmbeddedResources test to xammac_tests
2017-01-31 15:59:08 -09:00
Timothy Risi f3ebfc3cce Fix NSOpenGLPixelFormat ConvertToAttributes method (#1539)
Fix NSOpenGLPixelFormat ConvertToAttributes

* Add OpenGLProfile to list of NSOpenGLPixelFormatAttributes that require a value.  Check for 0 terminating the array
* Use InitializeHandle instead of 'Handle = '
* Add tests
2017-01-31 15:52:09 -09:00
Sebastien Pouliot de090b86d4 [tests][macos][intro] Fix XM classic introspection tests. Fixes #52065 (#1595) (#1597)
The latest Sierra had a few surprises:

* CITextFeature is now 64bits only;
* The MediaPlayer framework is now 64bits only [1]

Both made the classic tests fails for XM.

[1] https://bugzilla.xamarin.com/show_bug.cgi?id=52065
2017-01-31 14:45:30 -05:00
Rolf Bjarne Kvinge 76587376e9 [xharness] Fix code to compile with csc. (#1586) 2017-01-30 10:04:59 +01:00
Rolf Bjarne Kvinge 8b17770d36 [xharness] Make 'IncludeMac' an general switch for all macOS tests. (#1582) 2017-01-27 18:24:10 +01:00
Rolf Bjarne Kvinge 71e61b4b04 [xharness] Always add the mmp test to the list of tests, but mark it as ignored when it shouldn't be executed. (#1580) 2017-01-27 17:02:21 +01:00
Rolf Bjarne Kvinge c0c1136d70 [xharness] Get the INCLUDE_ make variables and disable tests accordingly. (#1578) 2017-01-27 10:52:49 +01:00