Updates autobootstrap fixture for parallel running.

This commit is contained in:
Ben 2024-09-24 10:10:59 +02:00
parent c4b6d01530
commit 2d90349b7b
No known key found for this signature in database
GPG Key ID: 0F16E812E736C24B
6 changed files with 32 additions and 25 deletions

View File

@ -7,7 +7,7 @@ namespace CodexPlugin
{
public class CodexContainerRecipe : ContainerRecipeFactory
{
private const string DefaultDockerImage = "codexstorage/nim-codex:sha-cda52af-dist-tests";
private const string DefaultDockerImage = "codexstorage/nim-codex:sha-032d7e7-dist-tests";
public const string ApiPortTag = "codex_api_port";
public const string ListenPortTag = "codex_listen_port";
public const string MetricsPortTag = "codex_metrics_port";

View File

@ -244,6 +244,11 @@ namespace CodexPlugin
Version = debugInfo.Version;
}
public override string ToString()
{
return $"CodexNode:{GetName()}";
}
private string[] GetPeerMultiAddresses(CodexNode peer, DebugInfo peerInfo)
{
// The peer we want to connect is in a different pod.

View File

@ -1,28 +1,46 @@
using CodexPlugin;
using DistTestCore;
using NUnit.Framework;
namespace CodexTests
{
public class AutoBootstrapDistTest : CodexDistTest
{
private readonly Dictionary<TestLifecycle, ICodexNode> bootstrapNodes = new Dictionary<TestLifecycle, ICodexNode>();
[SetUp]
public void SetUpBootstrapNode()
{
BootstrapNode = StartCodex(s => s.WithName("BOOTSTRAP"));
var tl = Get();
if (!bootstrapNodes.ContainsKey(tl))
{
bootstrapNodes.Add(tl, StartCodex(s => s.WithName("BOOTSTRAP_" + tl.TestNamespace)));
}
}
[TearDown]
public void TearDownBootstrapNode()
{
BootstrapNode = null;
bootstrapNodes.Remove(Get());
}
protected override void OnCodexSetup(ICodexSetup setup)
{
if (BootstrapNode != null) setup.WithBootstrapNode(BootstrapNode);
var node = BootstrapNode;
if (node != null) setup.WithBootstrapNode(node);
}
protected ICodexNode? BootstrapNode { get; private set; }
protected ICodexNode? BootstrapNode
{
get
{
var tl = Get();
if (bootstrapNodes.TryGetValue(tl, out var node))
{
return node;
}
return null;
}
}
}
}

View File

@ -17,7 +17,7 @@ namespace CodexTests.BasicTests
public void PyramidTest()
{
var size = 5.MB();
var numberOfLayers = 4;
var numberOfLayers = 3;
var bottomLayer = StartLayers(numberOfLayers);

View File

@ -22,24 +22,6 @@ namespace CodexTests.BasicTests
testFile.AssertIsEqual(downloadedFile);
}
[Test]
[CreateTranscript(nameof(SwarmTest))]
public void SwarmTest()
{
var uploader = StartCodex(s => s.WithName("uploader"));
var downloaders = StartCodex(5, s => s.WithName("downloader"));
var file = GenerateTestFile(100.MB());
var cid = uploader.UploadFile(file);
var result = Parallel.ForEach(downloaders, d =>
{
d.DownloadContent(cid);
});
Assert.That(result.IsCompleted);
}
[Test]
public void DownloadingUnknownCidDoesNotCauseCrash()
{

View File

@ -22,6 +22,7 @@ namespace DistTestCore
Log = log;
Configuration = configuration;
TimeSet = timeSet;
TestNamespace = testNamespace;
TestStart = DateTime.UtcNow;
entryPoint = new EntryPoint(log, configuration.GetK8sConfiguration(timeSet, this, testNamespace), configuration.GetFileManagerFolder(), timeSet);
@ -36,6 +37,7 @@ namespace DistTestCore
public TestLog Log { get; }
public Configuration Configuration { get; }
public ITimeSet TimeSet { get; }
public string TestNamespace { get; }
public bool WaitForCleanup { get; }
public CoreInterface CoreInterface { get; }