Commit e5ceed18 authored by Ramon Nou's avatar Ramon Nou
Browse files

Cover IOR same-run replication checks

parent 6b9b59c0
Loading
Loading
Loading
Loading
Loading
+2 −1
Changes for REPLICA.md: 2 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -38,7 +38,8 @@ Implemented today:
- Integration coverage using real daemon `SIGKILL`/restart and surviving-copy
  read fallback.
- Optional IOR integration coverage for a completed replicated write followed
  by one daemon kill and a verified two-rank read.
  by one daemon kill and a verified two-rank read. The same test also runs
  IOR's write/read/check sequence without `-k` in one invocation.

Important limitations:

+10 −4
Changes for tests/integration/data/test_replication.py: 10 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -430,7 +430,8 @@ def test_replication_ior_read_survives_daemon_kill(
        }
    )

    def run_ior(*args):
    def run_ior(*args, keep=False):
        keep_args = ["-k"] if keep else []
        return subprocess.run(
            [
                mpirun,
@@ -453,7 +454,7 @@ def test_replication_ior_read_survives_daemon_kill(
                "-x",
                *args,
                "-F",
                "-k",
                *keep_args,
            ],
            env=base_env,
            stdout=subprocess.PIPE,
@@ -463,7 +464,12 @@ def test_replication_ior_read_survives_daemon_kill(
        )

    try:
        write = run_ior("-w")
        same_run = run_ior("-w", "-r", "-W")
        assert same_run.returncode == 0, same_run.stdout
        assert "write" in same_run.stdout
        assert "read" in same_run.stdout

        write = run_ior("-w", keep=True)
        assert write.returncode == 0, write.stdout
        assert "write" in write.stdout

@@ -471,7 +477,7 @@ def test_replication_ior_read_survives_daemon_kill(
        d01._proc.wait(timeout=10)
        assert d01._proc.poll() is not None

        read = run_ior("-r", "-W")
        read = run_ior("-r", "-W", keep=True)
        assert read.returncode == 0, read.stdout
        assert "read" in read.stdout
    finally: