mirror of
https://github.com/actions/runner.git
synced 2025-12-10 20:36:49 +00:00
Add new SessionConflict return code (#3215)
* Add new SessionConflict return code * formatting * Change return type of CreateSessionAsync to new enum * Update entry scripts to handle new exit code * Move enum
This commit is contained in:
@@ -114,6 +114,11 @@ var runService = function () {
|
|||||||
);
|
);
|
||||||
stopping = true;
|
stopping = true;
|
||||||
}
|
}
|
||||||
|
} else if (code === 5) {
|
||||||
|
console.log(
|
||||||
|
"Runner listener exit with Session Conflict error, stop the service, no retry needed."
|
||||||
|
);
|
||||||
|
stopping = true;
|
||||||
} else {
|
} else {
|
||||||
var messagePrefix = "Runner listener exit with undefined return code";
|
var messagePrefix = "Runner listener exit with undefined return code";
|
||||||
unknownFailureRetryCount++;
|
unknownFailureRetryCount++;
|
||||||
|
|||||||
@@ -49,5 +49,10 @@ if %ERRORLEVEL% EQU 4 (
|
|||||||
exit /b 1
|
exit /b 1
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if %ERRORLEVEL% EQU 5 (
|
||||||
|
echo "Runner listener exit with Session Conflict error, stop the service, no retry needed."
|
||||||
|
exit /b 0
|
||||||
|
)
|
||||||
|
|
||||||
echo "Exiting after unknown error code: %ERRORLEVEL%"
|
echo "Exiting after unknown error code: %ERRORLEVEL%"
|
||||||
exit /b 0
|
exit /b 0
|
||||||
@@ -70,6 +70,9 @@ elif [[ $returnCode == 4 ]]; then
|
|||||||
"$DIR"/safe_sleep.sh 1
|
"$DIR"/safe_sleep.sh 1
|
||||||
done
|
done
|
||||||
exit 2
|
exit 2
|
||||||
|
elif [[ $returnCode == 5 ]]; then
|
||||||
|
echo "Runner listener exit with Session Conflict error, stop the service, no retry needed."
|
||||||
|
exit 0
|
||||||
else
|
else
|
||||||
echo "Exiting with unknown error code: ${returnCode}"
|
echo "Exiting with unknown error code: ${returnCode}"
|
||||||
exit 0
|
exit 0
|
||||||
|
|||||||
@@ -153,6 +153,7 @@ namespace GitHub.Runner.Common
|
|||||||
public const int RetryableError = 2;
|
public const int RetryableError = 2;
|
||||||
public const int RunnerUpdating = 3;
|
public const int RunnerUpdating = 3;
|
||||||
public const int RunOnceRunnerUpdating = 4;
|
public const int RunOnceRunnerUpdating = 4;
|
||||||
|
public const int SessionConflict = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Features
|
public static class Features
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ namespace GitHub.Runner.Listener
|
|||||||
_brokerServer = HostContext.GetService<IBrokerServer>();
|
_brokerServer = HostContext.GetService<IBrokerServer>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<Boolean> CreateSessionAsync(CancellationToken token)
|
public async Task<CreateSessionResult> CreateSessionAsync(CancellationToken token)
|
||||||
{
|
{
|
||||||
Trace.Entering();
|
Trace.Entering();
|
||||||
|
|
||||||
@@ -99,7 +99,7 @@ namespace GitHub.Runner.Listener
|
|||||||
encounteringError = false;
|
encounteringError = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return CreateSessionResult.Success;
|
||||||
}
|
}
|
||||||
catch (OperationCanceledException) when (token.IsCancellationRequested)
|
catch (OperationCanceledException) when (token.IsCancellationRequested)
|
||||||
{
|
{
|
||||||
@@ -123,7 +123,7 @@ namespace GitHub.Runner.Listener
|
|||||||
if (string.Equals(vssOAuthEx.Error, "invalid_client", StringComparison.OrdinalIgnoreCase))
|
if (string.Equals(vssOAuthEx.Error, "invalid_client", StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
_term.WriteError("Failed to create a session. The runner registration has been deleted from the server, please re-configure. Runner registrations are automatically deleted for runners that have not connected to the service recently.");
|
_term.WriteError("Failed to create a session. The runner registration has been deleted from the server, please re-configure. Runner registrations are automatically deleted for runners that have not connected to the service recently.");
|
||||||
return false;
|
return CreateSessionResult.Failure;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check whether we get 401 because the runner registration already removed by the service.
|
// Check whether we get 401 because the runner registration already removed by the service.
|
||||||
@@ -134,14 +134,18 @@ namespace GitHub.Runner.Listener
|
|||||||
if (string.Equals(authError, "invalid_client", StringComparison.OrdinalIgnoreCase))
|
if (string.Equals(authError, "invalid_client", StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
_term.WriteError("Failed to create a session. The runner registration has been deleted from the server, please re-configure. Runner registrations are automatically deleted for runners that have not connected to the service recently.");
|
_term.WriteError("Failed to create a session. The runner registration has been deleted from the server, please re-configure. Runner registrations are automatically deleted for runners that have not connected to the service recently.");
|
||||||
return false;
|
return CreateSessionResult.Failure;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!IsSessionCreationExceptionRetriable(ex))
|
if (!IsSessionCreationExceptionRetriable(ex))
|
||||||
{
|
{
|
||||||
_term.WriteError($"Failed to create session. {ex.Message}");
|
_term.WriteError($"Failed to create session. {ex.Message}");
|
||||||
return false;
|
if (ex is TaskAgentSessionConflictException)
|
||||||
|
{
|
||||||
|
return CreateSessionResult.SessionConflict;
|
||||||
|
}
|
||||||
|
return CreateSessionResult.Failure;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!encounteringError) //print the message only on the first error
|
if (!encounteringError) //print the message only on the first error
|
||||||
|
|||||||
@@ -18,10 +18,17 @@ using GitHub.Services.WebApi;
|
|||||||
|
|
||||||
namespace GitHub.Runner.Listener
|
namespace GitHub.Runner.Listener
|
||||||
{
|
{
|
||||||
|
public enum CreateSessionResult
|
||||||
|
{
|
||||||
|
Success,
|
||||||
|
Failure,
|
||||||
|
SessionConflict
|
||||||
|
}
|
||||||
|
|
||||||
[ServiceLocator(Default = typeof(MessageListener))]
|
[ServiceLocator(Default = typeof(MessageListener))]
|
||||||
public interface IMessageListener : IRunnerService
|
public interface IMessageListener : IRunnerService
|
||||||
{
|
{
|
||||||
Task<Boolean> CreateSessionAsync(CancellationToken token);
|
Task<CreateSessionResult> CreateSessionAsync(CancellationToken token);
|
||||||
Task DeleteSessionAsync();
|
Task DeleteSessionAsync();
|
||||||
Task<TaskAgentMessage> GetNextMessageAsync(CancellationToken token);
|
Task<TaskAgentMessage> GetNextMessageAsync(CancellationToken token);
|
||||||
Task DeleteMessageAsync(TaskAgentMessage message);
|
Task DeleteMessageAsync(TaskAgentMessage message);
|
||||||
@@ -59,7 +66,7 @@ namespace GitHub.Runner.Listener
|
|||||||
_brokerServer = hostContext.GetService<IBrokerServer>();
|
_brokerServer = hostContext.GetService<IBrokerServer>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<Boolean> CreateSessionAsync(CancellationToken token)
|
public async Task<CreateSessionResult> CreateSessionAsync(CancellationToken token)
|
||||||
{
|
{
|
||||||
Trace.Entering();
|
Trace.Entering();
|
||||||
|
|
||||||
@@ -123,7 +130,7 @@ namespace GitHub.Runner.Listener
|
|||||||
encounteringError = false;
|
encounteringError = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return CreateSessionResult.Success;
|
||||||
}
|
}
|
||||||
catch (OperationCanceledException) when (token.IsCancellationRequested)
|
catch (OperationCanceledException) when (token.IsCancellationRequested)
|
||||||
{
|
{
|
||||||
@@ -147,7 +154,7 @@ namespace GitHub.Runner.Listener
|
|||||||
if (string.Equals(vssOAuthEx.Error, "invalid_client", StringComparison.OrdinalIgnoreCase))
|
if (string.Equals(vssOAuthEx.Error, "invalid_client", StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
_term.WriteError("Failed to create a session. The runner registration has been deleted from the server, please re-configure. Runner registrations are automatically deleted for runners that have not connected to the service recently.");
|
_term.WriteError("Failed to create a session. The runner registration has been deleted from the server, please re-configure. Runner registrations are automatically deleted for runners that have not connected to the service recently.");
|
||||||
return false;
|
return CreateSessionResult.Failure;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check whether we get 401 because the runner registration already removed by the service.
|
// Check whether we get 401 because the runner registration already removed by the service.
|
||||||
@@ -158,14 +165,18 @@ namespace GitHub.Runner.Listener
|
|||||||
if (string.Equals(authError, "invalid_client", StringComparison.OrdinalIgnoreCase))
|
if (string.Equals(authError, "invalid_client", StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
_term.WriteError("Failed to create a session. The runner registration has been deleted from the server, please re-configure. Runner registrations are automatically deleted for runners that have not connected to the service recently.");
|
_term.WriteError("Failed to create a session. The runner registration has been deleted from the server, please re-configure. Runner registrations are automatically deleted for runners that have not connected to the service recently.");
|
||||||
return false;
|
return CreateSessionResult.Failure;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!IsSessionCreationExceptionRetriable(ex))
|
if (!IsSessionCreationExceptionRetriable(ex))
|
||||||
{
|
{
|
||||||
_term.WriteError($"Failed to create session. {ex.Message}");
|
_term.WriteError($"Failed to create session. {ex.Message}");
|
||||||
return false;
|
if (ex is TaskAgentSessionConflictException)
|
||||||
|
{
|
||||||
|
return CreateSessionResult.SessionConflict;
|
||||||
|
}
|
||||||
|
return CreateSessionResult.Failure;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!encounteringError) //print the message only on the first error
|
if (!encounteringError) //print the message only on the first error
|
||||||
@@ -303,7 +314,7 @@ namespace GitHub.Runner.Listener
|
|||||||
Trace.Error(ex);
|
Trace.Error(ex);
|
||||||
|
|
||||||
// don't retry if SkipSessionRecover = true, DT service will delete agent session to stop agent from taking more jobs.
|
// don't retry if SkipSessionRecover = true, DT service will delete agent session to stop agent from taking more jobs.
|
||||||
if (ex is TaskAgentSessionExpiredException && !_settings.SkipSessionRecover && await CreateSessionAsync(token))
|
if (ex is TaskAgentSessionExpiredException && !_settings.SkipSessionRecover && (await CreateSessionAsync(token) == CreateSessionResult.Success))
|
||||||
{
|
{
|
||||||
Trace.Info($"{nameof(TaskAgentSessionExpiredException)} received, recovered by recreate session.");
|
Trace.Info($"{nameof(TaskAgentSessionExpiredException)} received, recovered by recreate session.");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -359,7 +359,12 @@ namespace GitHub.Runner.Listener
|
|||||||
{
|
{
|
||||||
Trace.Info(nameof(RunAsync));
|
Trace.Info(nameof(RunAsync));
|
||||||
_listener = GetMesageListener(settings);
|
_listener = GetMesageListener(settings);
|
||||||
if (!await _listener.CreateSessionAsync(HostContext.RunnerShutdownToken))
|
CreateSessionResult createSessionResult = await _listener.CreateSessionAsync(HostContext.RunnerShutdownToken);
|
||||||
|
if (createSessionResult == CreateSessionResult.SessionConflict)
|
||||||
|
{
|
||||||
|
return Constants.Runner.ReturnCode.SessionConflict;
|
||||||
|
}
|
||||||
|
else if (createSessionResult == CreateSessionResult.Failure)
|
||||||
{
|
{
|
||||||
return Constants.Runner.ReturnCode.TerminatedError;
|
return Constants.Runner.ReturnCode.TerminatedError;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,11 +56,11 @@ namespace GitHub.Runner.Common.Tests.Listener
|
|||||||
BrokerMessageListener listener = new();
|
BrokerMessageListener listener = new();
|
||||||
listener.Initialize(tc);
|
listener.Initialize(tc);
|
||||||
|
|
||||||
bool result = await listener.CreateSessionAsync(tokenSource.Token);
|
CreateSessionResult result = await listener.CreateSessionAsync(tokenSource.Token);
|
||||||
trace.Info("result: {0}", result);
|
trace.Info("result: {0}", result);
|
||||||
|
|
||||||
// Assert.
|
// Assert.
|
||||||
Assert.True(result);
|
Assert.Equal(CreateSessionResult.Success, result);
|
||||||
_brokerServer
|
_brokerServer
|
||||||
.Verify(x => x.CreateSessionAsync(
|
.Verify(x => x.CreateSessionAsync(
|
||||||
It.Is<TaskAgentSession>(y => y != null),
|
It.Is<TaskAgentSession>(y => y != null),
|
||||||
|
|||||||
@@ -75,11 +75,11 @@ namespace GitHub.Runner.Common.Tests.Listener
|
|||||||
MessageListener listener = new();
|
MessageListener listener = new();
|
||||||
listener.Initialize(tc);
|
listener.Initialize(tc);
|
||||||
|
|
||||||
bool result = await listener.CreateSessionAsync(tokenSource.Token);
|
CreateSessionResult result = await listener.CreateSessionAsync(tokenSource.Token);
|
||||||
trace.Info("result: {0}", result);
|
trace.Info("result: {0}", result);
|
||||||
|
|
||||||
// Assert.
|
// Assert.
|
||||||
Assert.True(result);
|
Assert.Equal(CreateSessionResult.Success, result);
|
||||||
_runnerServer
|
_runnerServer
|
||||||
.Verify(x => x.CreateAgentSessionAsync(
|
.Verify(x => x.CreateAgentSessionAsync(
|
||||||
_settings.PoolId,
|
_settings.PoolId,
|
||||||
@@ -135,11 +135,11 @@ namespace GitHub.Runner.Common.Tests.Listener
|
|||||||
MessageListener listener = new();
|
MessageListener listener = new();
|
||||||
listener.Initialize(tc);
|
listener.Initialize(tc);
|
||||||
|
|
||||||
bool result = await listener.CreateSessionAsync(tokenSource.Token);
|
CreateSessionResult result = await listener.CreateSessionAsync(tokenSource.Token);
|
||||||
trace.Info("result: {0}", result);
|
trace.Info("result: {0}", result);
|
||||||
|
|
||||||
// Assert.
|
// Assert.
|
||||||
Assert.True(result);
|
Assert.Equal(CreateSessionResult.Success, result);
|
||||||
|
|
||||||
_runnerServer
|
_runnerServer
|
||||||
.Verify(x => x.CreateAgentSessionAsync(
|
.Verify(x => x.CreateAgentSessionAsync(
|
||||||
@@ -185,8 +185,8 @@ namespace GitHub.Runner.Common.Tests.Listener
|
|||||||
MessageListener listener = new();
|
MessageListener listener = new();
|
||||||
listener.Initialize(tc);
|
listener.Initialize(tc);
|
||||||
|
|
||||||
bool result = await listener.CreateSessionAsync(tokenSource.Token);
|
CreateSessionResult result = await listener.CreateSessionAsync(tokenSource.Token);
|
||||||
Assert.True(result);
|
Assert.Equal(CreateSessionResult.Success, result);
|
||||||
|
|
||||||
_runnerServer
|
_runnerServer
|
||||||
.Setup(x => x.DeleteAgentSessionAsync(
|
.Setup(x => x.DeleteAgentSessionAsync(
|
||||||
@@ -245,10 +245,10 @@ namespace GitHub.Runner.Common.Tests.Listener
|
|||||||
MessageListener listener = new();
|
MessageListener listener = new();
|
||||||
listener.Initialize(tc);
|
listener.Initialize(tc);
|
||||||
|
|
||||||
bool result = await listener.CreateSessionAsync(tokenSource.Token);
|
CreateSessionResult result = await listener.CreateSessionAsync(tokenSource.Token);
|
||||||
trace.Info("result: {0}", result);
|
trace.Info("result: {0}", result);
|
||||||
|
|
||||||
Assert.True(result);
|
Assert.Equal(CreateSessionResult.Success, result);
|
||||||
|
|
||||||
_runnerServer
|
_runnerServer
|
||||||
.Verify(x => x.CreateAgentSessionAsync(
|
.Verify(x => x.CreateAgentSessionAsync(
|
||||||
@@ -309,8 +309,8 @@ namespace GitHub.Runner.Common.Tests.Listener
|
|||||||
MessageListener listener = new();
|
MessageListener listener = new();
|
||||||
listener.Initialize(tc);
|
listener.Initialize(tc);
|
||||||
|
|
||||||
bool result = await listener.CreateSessionAsync(tokenSource.Token);
|
CreateSessionResult result = await listener.CreateSessionAsync(tokenSource.Token);
|
||||||
Assert.True(result);
|
Assert.Equal(CreateSessionResult.Success, result);
|
||||||
|
|
||||||
var arMessages = new TaskAgentMessage[]
|
var arMessages = new TaskAgentMessage[]
|
||||||
{
|
{
|
||||||
@@ -390,8 +390,8 @@ namespace GitHub.Runner.Common.Tests.Listener
|
|||||||
MessageListener listener = new();
|
MessageListener listener = new();
|
||||||
listener.Initialize(tc);
|
listener.Initialize(tc);
|
||||||
|
|
||||||
bool result = await listener.CreateSessionAsync(tokenSource.Token);
|
CreateSessionResult result = await listener.CreateSessionAsync(tokenSource.Token);
|
||||||
Assert.True(result);
|
Assert.Equal(CreateSessionResult.Success, result);
|
||||||
|
|
||||||
var brokerMigrationMesage = new BrokerMigrationMessage(new Uri("https://actions.broker.com"));
|
var brokerMigrationMesage = new BrokerMigrationMessage(new Uri("https://actions.broker.com"));
|
||||||
|
|
||||||
@@ -497,11 +497,11 @@ namespace GitHub.Runner.Common.Tests.Listener
|
|||||||
MessageListener listener = new();
|
MessageListener listener = new();
|
||||||
listener.Initialize(tc);
|
listener.Initialize(tc);
|
||||||
|
|
||||||
bool result = await listener.CreateSessionAsync(tokenSource.Token);
|
CreateSessionResult result = await listener.CreateSessionAsync(tokenSource.Token);
|
||||||
trace.Info("result: {0}", result);
|
trace.Info("result: {0}", result);
|
||||||
|
|
||||||
// Assert.
|
// Assert.
|
||||||
Assert.True(result);
|
Assert.Equal(CreateSessionResult.Success, result);
|
||||||
_runnerServer
|
_runnerServer
|
||||||
.Verify(x => x.CreateAgentSessionAsync(
|
.Verify(x => x.CreateAgentSessionAsync(
|
||||||
_settings.PoolId,
|
_settings.PoolId,
|
||||||
@@ -541,8 +541,8 @@ namespace GitHub.Runner.Common.Tests.Listener
|
|||||||
MessageListener listener = new();
|
MessageListener listener = new();
|
||||||
listener.Initialize(tc);
|
listener.Initialize(tc);
|
||||||
|
|
||||||
bool result = await listener.CreateSessionAsync(tokenSource.Token);
|
CreateSessionResult result = await listener.CreateSessionAsync(tokenSource.Token);
|
||||||
Assert.True(result);
|
Assert.Equal(CreateSessionResult.Success, result);
|
||||||
|
|
||||||
_runnerServer
|
_runnerServer
|
||||||
.Setup(x => x.GetAgentMessageAsync(
|
.Setup(x => x.GetAgentMessageAsync(
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ namespace GitHub.Runner.Common.Tests.Listener
|
|||||||
_configurationManager.Setup(x => x.IsConfigured())
|
_configurationManager.Setup(x => x.IsConfigured())
|
||||||
.Returns(true);
|
.Returns(true);
|
||||||
_messageListener.Setup(x => x.CreateSessionAsync(It.IsAny<CancellationToken>()))
|
_messageListener.Setup(x => x.CreateSessionAsync(It.IsAny<CancellationToken>()))
|
||||||
.Returns(Task.FromResult<bool>(true));
|
.Returns(Task.FromResult<CreateSessionResult>(CreateSessionResult.Success));
|
||||||
_messageListener.Setup(x => x.GetNextMessageAsync(It.IsAny<CancellationToken>()))
|
_messageListener.Setup(x => x.GetNextMessageAsync(It.IsAny<CancellationToken>()))
|
||||||
.Returns(async () =>
|
.Returns(async () =>
|
||||||
{
|
{
|
||||||
@@ -184,7 +184,7 @@ namespace GitHub.Runner.Common.Tests.Listener
|
|||||||
_configStore.Setup(x => x.IsServiceConfigured()).Returns(configureAsService);
|
_configStore.Setup(x => x.IsServiceConfigured()).Returns(configureAsService);
|
||||||
|
|
||||||
_messageListener.Setup(x => x.CreateSessionAsync(It.IsAny<CancellationToken>()))
|
_messageListener.Setup(x => x.CreateSessionAsync(It.IsAny<CancellationToken>()))
|
||||||
.Returns(Task.FromResult(false));
|
.Returns(Task.FromResult<CreateSessionResult>(CreateSessionResult.Failure));
|
||||||
|
|
||||||
var runner = new Runner.Listener.Runner();
|
var runner = new Runner.Listener.Runner();
|
||||||
runner.Initialize(hc);
|
runner.Initialize(hc);
|
||||||
@@ -217,7 +217,7 @@ namespace GitHub.Runner.Common.Tests.Listener
|
|||||||
.Returns(false);
|
.Returns(false);
|
||||||
|
|
||||||
_messageListener.Setup(x => x.CreateSessionAsync(It.IsAny<CancellationToken>()))
|
_messageListener.Setup(x => x.CreateSessionAsync(It.IsAny<CancellationToken>()))
|
||||||
.Returns(Task.FromResult(false));
|
.Returns(Task.FromResult<CreateSessionResult>(CreateSessionResult.Failure));
|
||||||
|
|
||||||
var runner = new Runner.Listener.Runner();
|
var runner = new Runner.Listener.Runner();
|
||||||
runner.Initialize(hc);
|
runner.Initialize(hc);
|
||||||
@@ -263,7 +263,7 @@ namespace GitHub.Runner.Common.Tests.Listener
|
|||||||
_configurationManager.Setup(x => x.IsConfigured())
|
_configurationManager.Setup(x => x.IsConfigured())
|
||||||
.Returns(true);
|
.Returns(true);
|
||||||
_messageListener.Setup(x => x.CreateSessionAsync(It.IsAny<CancellationToken>()))
|
_messageListener.Setup(x => x.CreateSessionAsync(It.IsAny<CancellationToken>()))
|
||||||
.Returns(Task.FromResult<bool>(true));
|
.Returns(Task.FromResult<CreateSessionResult>(CreateSessionResult.Success));
|
||||||
_messageListener.Setup(x => x.GetNextMessageAsync(It.IsAny<CancellationToken>()))
|
_messageListener.Setup(x => x.GetNextMessageAsync(It.IsAny<CancellationToken>()))
|
||||||
.Returns(async () =>
|
.Returns(async () =>
|
||||||
{
|
{
|
||||||
@@ -363,7 +363,7 @@ namespace GitHub.Runner.Common.Tests.Listener
|
|||||||
_configurationManager.Setup(x => x.IsConfigured())
|
_configurationManager.Setup(x => x.IsConfigured())
|
||||||
.Returns(true);
|
.Returns(true);
|
||||||
_messageListener.Setup(x => x.CreateSessionAsync(It.IsAny<CancellationToken>()))
|
_messageListener.Setup(x => x.CreateSessionAsync(It.IsAny<CancellationToken>()))
|
||||||
.Returns(Task.FromResult<bool>(true));
|
.Returns(Task.FromResult<CreateSessionResult>(CreateSessionResult.Success));
|
||||||
_messageListener.Setup(x => x.GetNextMessageAsync(It.IsAny<CancellationToken>()))
|
_messageListener.Setup(x => x.GetNextMessageAsync(It.IsAny<CancellationToken>()))
|
||||||
.Returns(async () =>
|
.Returns(async () =>
|
||||||
{
|
{
|
||||||
@@ -458,7 +458,7 @@ namespace GitHub.Runner.Common.Tests.Listener
|
|||||||
_configurationManager.Setup(x => x.IsConfigured())
|
_configurationManager.Setup(x => x.IsConfigured())
|
||||||
.Returns(true);
|
.Returns(true);
|
||||||
_messageListener.Setup(x => x.CreateSessionAsync(It.IsAny<CancellationToken>()))
|
_messageListener.Setup(x => x.CreateSessionAsync(It.IsAny<CancellationToken>()))
|
||||||
.Returns(Task.FromResult<bool>(true));
|
.Returns(Task.FromResult<CreateSessionResult>(CreateSessionResult.Success));
|
||||||
_messageListener.Setup(x => x.GetNextMessageAsync(It.IsAny<CancellationToken>()))
|
_messageListener.Setup(x => x.GetNextMessageAsync(It.IsAny<CancellationToken>()))
|
||||||
.Returns(async () =>
|
.Returns(async () =>
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user