protected MultiNodeConfig()
{
var roleName = CommandLine.GetPropertyOrDefault("multinode.role", null);
if (String.IsNullOrEmpty(roleName))
{
_myself = new Lazy <RoleName>(() =>
{
if (MultiNodeSpec.SelfIndex > _roles.Count)
{
throw new ArgumentException("not enough roles declared for this test");
}
return(_roles[MultiNodeSpec.SelfIndex]);
});
}
else
{
_myself = new Lazy <RoleName>(() =>
{
var myself = _roles.FirstOrDefault(r => r.Name.Equals(roleName, StringComparison.OrdinalIgnoreCase));
if (myself == default(RoleName))
{
throw new ArgumentException($"cannot find {roleName} among configured roles");
}
return(myself);
});
}
}