Files
yoga/csharp/Mac/Facebook.Yoga.Mac.Tests/Main.cs
Rui Marinho 49bccf47fa Fix windows and osx builds
Summary: Closes https://github.com/facebook/yoga/pull/555

Reviewed By: emilsjolander

Differential Revision: D5071045

Pulled By: splhack

fbshipit-source-id: f9e387242055e0a4a7c330c7bf99ed4a4b4057be
2017-05-16 12:42:08 -07:00

62 lines
1.2 KiB
C#

/**
* Copyright 2014-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the license found in the
* LICENSE-examples file in the root directory of this source tree.
*/
using System;
using System.Collections.Generic;
using AppKit;
using Foundation;
using GuiUnit;
using NUnit.Framework;
namespace Facebook.Yoga.Mac.Tests
{
static class MainClass
{
static void Main(string[] args)
{
NSApplication.Init();
RunTests();
}
static void RunTests()
{
TestRunner.MainLoop = new NSRunLoopIntegration();
List<string> args = new List<string>() { typeof(MainClass).Assembly.Location, "-labels", "-noheader", "-result=TEST-Mac.xml" };
TestRunner.Main(args.ToArray());
}
[System.Runtime.InteropServices.DllImport("/usr/lib/libSystem.dylib")]
static extern void _exit(int exit_code);
class NSRunLoopIntegration : NSObject, IMainLoopIntegration
{
public void InitializeToolkit()
{
}
public void RunMainLoop()
{
NSApplication.SharedApplication.Run();
}
public void InvokeOnMainLoop(InvokerHelper helper)
{
NSApplication.SharedApplication.InvokeOnMainThread(helper.Invoke);
}
public void Shutdown()
{
_exit(TestRunner.ExitCode);
}
}
}
}