test: add go jetstream parity runner
This commit is contained in:
14
docs/plans/jetstream-go-suite-map.md
Normal file
14
docs/plans/jetstream-go-suite-map.md
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
# JetStream Go Suite Map
|
||||||
|
|
||||||
|
This map tracks the Go suite families included by `scripts/run-go-jetstream-parity.sh`.
|
||||||
|
|
||||||
|
- `TestJetStream`: core stream/consumer API and data-path behavior.
|
||||||
|
- `TestJetStreamCluster`: clustered JetStream semantics, placement, and failover.
|
||||||
|
- `TestLongCluster`: long-running clustered behaviors and stabilization scenarios.
|
||||||
|
- `TestRaft`: RAFT election, replication, and snapshot behavior used by JetStream.
|
||||||
|
|
||||||
|
Runner command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
go test -v -run 'TestJetStream|TestJetStreamCluster|TestLongCluster|TestRaft' ./server -count=1 -timeout=180m
|
||||||
|
```
|
||||||
18
scripts/run-go-jetstream-parity.sh
Executable file
18
scripts/run-go-jetstream-parity.sh
Executable file
@@ -0,0 +1,18 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
repo_root="$(cd "${script_dir}/.." && pwd)"
|
||||||
|
|
||||||
|
go_root="${repo_root}/golang/nats-server"
|
||||||
|
if [[ ! -d "${go_root}" && -d "/Users/dohertj2/Desktop/natsdotnet/golang/nats-server" ]]; then
|
||||||
|
go_root="/Users/dohertj2/Desktop/natsdotnet/golang/nats-server"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -d "${go_root}" ]]; then
|
||||||
|
echo "Unable to locate golang/nats-server checkout." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "${go_root}"
|
||||||
|
go test -v -run 'TestJetStream|TestJetStreamCluster|TestLongCluster|TestRaft' ./server -count=1 -timeout=180m
|
||||||
21
tests/NATS.Server.Tests/GoParityRunnerTests.cs
Normal file
21
tests/NATS.Server.Tests/GoParityRunnerTests.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
namespace NATS.Server.Tests;
|
||||||
|
|
||||||
|
public class GoParityRunnerTests
|
||||||
|
{
|
||||||
|
[Fact]
|
||||||
|
public void Go_parity_runner_builds_expected_suite_filter()
|
||||||
|
{
|
||||||
|
var cmd = GoParityRunner.BuildCommand();
|
||||||
|
cmd.ShouldContain("go test");
|
||||||
|
cmd.ShouldContain("TestJetStream");
|
||||||
|
cmd.ShouldContain("TestRaft");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal static class GoParityRunner
|
||||||
|
{
|
||||||
|
public static string BuildCommand()
|
||||||
|
{
|
||||||
|
return "go test -v -run 'TestJetStream|TestJetStreamCluster|TestLongCluster|TestRaft' ./server -count=1 -timeout=180m";
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user