playtest-unity/playtest/Library/PackageCache/com.unity.test-framework@1..../UnityEditor.TestRunner/UnityTestProtocol/UnityTestProtocolStarter.cs

36 lines
1.2 KiB
C#
Raw Permalink Normal View History

2023-06-21 13:28:15 -04:00
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEditor.TestTools.TestRunner.Api;
using UnityEngine;
namespace UnityEditor.TestTools.TestRunner.UnityTestProtocol
{
[InitializeOnLoad]
internal static class UnityTestProtocolStarter
{
static UnityTestProtocolStarter()
{
var commandLineArgs = Environment.GetCommandLineArgs();
if (commandLineArgs.Contains("-automated") && commandLineArgs.Contains("-runTests")) // wanna have it only for utr run
{
var api = ScriptableObject.CreateInstance<TestRunnerApi>();
var listener = new UnityTestProtocolListener(GetRepositoryPath(commandLineArgs));
api.RegisterCallbacks(listener);
}
}
private static string GetRepositoryPath(IReadOnlyList<string> commandLineArgs)
{
for (var i = 0; i < commandLineArgs.Count; i++)
{
if (commandLineArgs[i].Equals("-projectRepositoryPath"))
{
return commandLineArgs[i + 1];
}
}
return string.Empty;
}
}
}