diff --git a/internal/stages_test.go b/internal/stages_test.go index 9c5c0f21..ccd68693 100644 --- a/internal/stages_test.go +++ b/internal/stages_test.go @@ -13,77 +13,77 @@ func TestStages(t *testing.T) { testCases := map[string]tester_utils_testing.TesterOutputTestCase{ "bind_failure": { - UntilStageSlug: "init", + UntilStageSlug: "jm1", CodePath: "./test_helpers/scenarios/bind/failure", ExpectedExitCode: 1, StdoutFixturePath: "./test_helpers/fixtures/bind/failure", NormalizeOutputFunc: normalizeTesterOutput, }, "bind_timeout": { - UntilStageSlug: "init", + UntilStageSlug: "jm1", CodePath: "./test_helpers/scenarios/bind/timeout", ExpectedExitCode: 1, StdoutFixturePath: "./test_helpers/fixtures/bind/timeout", NormalizeOutputFunc: normalizeTesterOutput, }, "bind_success": { - UntilStageSlug: "init", + UntilStageSlug: "jm1", CodePath: "./test_helpers/scenarios/bind/success", ExpectedExitCode: 0, StdoutFixturePath: "./test_helpers/fixtures/bind/success", NormalizeOutputFunc: normalizeTesterOutput, }, "ping_pong_eof": { - UntilStageSlug: "ping-pong", + UntilStageSlug: "rg2", CodePath: "./test_helpers/scenarios/ping-pong/eof", ExpectedExitCode: 1, StdoutFixturePath: "./test_helpers/fixtures/ping-pong/eof", NormalizeOutputFunc: normalizeTesterOutput, }, "ping_pong_without_crlf": { - UntilStageSlug: "ping-pong", + UntilStageSlug: "rg2", CodePath: "./test_helpers/scenarios/ping-pong/without_crlf", ExpectedExitCode: 1, StdoutFixturePath: "./test_helpers/fixtures/ping-pong/without_crlf", NormalizeOutputFunc: normalizeTesterOutput, }, "ping_pong_slow_response": { - UntilStageSlug: "ping-pong", + UntilStageSlug: "rg2", CodePath: "./test_helpers/scenarios/ping-pong/slow_response", ExpectedExitCode: 0, StdoutFixturePath: "./test_helpers/fixtures/ping-pong/slow_response", NormalizeOutputFunc: normalizeTesterOutput, }, "ping_pong_without_read_multiple_pongs": { - UntilStageSlug: "ping-pong", + UntilStageSlug: "rg2", CodePath: "./test_helpers/scenarios/ping-pong/without_read_multiple_pongs", ExpectedExitCode: 1, StdoutFixturePath: "./test_helpers/fixtures/ping-pong/without_read_multiple_pongs", NormalizeOutputFunc: normalizeTesterOutput, }, "expiry_pass": { - UntilStageSlug: "expiry", + UntilStageSlug: "yz1", CodePath: "./test_helpers/pass_all", ExpectedExitCode: 0, StdoutFixturePath: "./test_helpers/fixtures/expiry/pass", NormalizeOutputFunc: normalizeTesterOutput, }, "rdb_pass": { - UntilStageSlug: "rdb-read-value-with-expiry", + UntilStageSlug: "sm4", CodePath: "./test_helpers/pass_all", ExpectedExitCode: 0, StdoutFixturePath: "./test_helpers/fixtures/rdb-read-value-with-expiry/pass", NormalizeOutputFunc: normalizeTesterOutput, }, "repl_pass": { - UntilStageSlug: "repl-wait", + UntilStageSlug: "na2", CodePath: "./test_helpers/pass_all", ExpectedExitCode: 0, StdoutFixturePath: "./test_helpers/fixtures/repl-wait/pass", NormalizeOutputFunc: normalizeTesterOutput, }, "streams_pass": { - UntilStageSlug: "streams-xread-block-max-id", + UntilStageSlug: "xu1", CodePath: "./test_helpers/pass_all", ExpectedExitCode: 0, StdoutFixturePath: "./test_helpers/fixtures/streams/pass", diff --git a/internal/test_helpers/course_definition.yml b/internal/test_helpers/course_definition.yml index 631a26f2..1151a765 100644 --- a/internal/test_helpers/course_definition.yml +++ b/internal/test_helpers/course_definition.yml @@ -90,7 +90,8 @@ extensions: [xrange-command]: https://redis.io/commands/xrange/ stages: - - slug: "init" + - legacy_slug: "init" + slug: "jm1" concept_slugs: [ "network-protocols", @@ -129,7 +130,8 @@ stages: default port that Redis uses. tester_source_code_url: "https://github.com/codecrafters-io/redis-tester/blob/a58b9d58b33870fe26a164c0e323f809275a7250/internal/test_bind.go#L11" - - slug: "ping-pong" + - legacy_slug: "ping-pong" + slug: "rg2" concept_slugs: [ "network-protocols", @@ -181,7 +183,8 @@ stages: protocol](https://redis.io/topics/protocol) to encode the reply. tester_source_code_url: "https://github.com/codecrafters-io/redis-tester/blob/a58b9d58b33870fe26a164c0e323f809275a7250/internal/test_ping_pong.go#L9" - - slug: "ping-pong-multiple" + - legacy_slug: "ping-pong-multiple" + slug: "wy1" concept_slugs: [ "network-protocols", @@ -237,7 +240,8 @@ stages: [PING](https://redis.io/commands/ping) commands sent by the same client. tester_source_code_url: "https://github.com/codecrafters-io/redis-tester/blob/a58b9d58b33870fe26a164c0e323f809275a7250/internal/test_ping_pong.go#L35" - - slug: "concurrent-clients" + - legacy_slug: "concurrent-clients" + slug: "zu2" concept_slugs: [ "network-protocols", @@ -297,7 +301,8 @@ stages: like the official Redis implementation does. tester_source_code_url: "https://github.com/codecrafters-io/redis-tester/blob/a58b9d58b33870fe26a164c0e323f809275a7250/internal/test_ping_pong.go#L56" - - slug: "echo" + - legacy_slug: "echo" + slug: "qq0" name: "Implement the ECHO command" difficulty: medium description_md: |- @@ -345,7 +350,8 @@ stages: tester_source_code_url: "https://github.com/codecrafters-io/redis-tester/blob/a58b9d58b33870fe26a164c0e323f809275a7250/internal/test_echo.go#L11" # TODO: Change this to use hyphens - - slug: "set_get" + - legacy_slug: "set_get" + slug: "la7" name: "Implement the SET & GET commands" difficulty: medium description_md: |- @@ -399,7 +405,8 @@ stages: [GET](https://redis.io/commands/get) commands. tester_source_code_url: "https://github.com/codecrafters-io/redis-tester/blob/a58b9d58b33870fe26a164c0e323f809275a7250/internal/test_get_set.go#L11" - - slug: "expiry" + - legacy_slug: "expiry" + slug: "yz1" name: "Expiry" difficulty: medium description_md: |- @@ -461,7 +468,8 @@ stages: # Persistence - - slug: "rdb-config" + - legacy_slug: "rdb-config" + slug: "zg5" primary_extension_slug: "persistence-rdb" name: "RDB file config" difficulty: easy @@ -530,7 +538,8 @@ stages: marketing_md: | In this stage, you'll add support for reading the config values related to where RDB files are stored. You'll implement the `CONFIG GET` command. - - slug: "rdb-read-key" + - legacy_slug: "rdb-read-key" + slug: "jz6" primary_extension_slug: "persistence-rdb" name: "Read a key" difficulty: medium @@ -573,7 +582,8 @@ stages: marketing_md: | In this stage, you'll add support for reading a key from an RDB file that contains a single key-value pair. You'll do this by implementing the `KEYS *` command. - - slug: "rdb-read-string-value" + - legacy_slug: "rdb-read-string-value" + slug: "gc6" primary_extension_slug: "persistence-rdb" name: "Read a string value" difficulty: medium @@ -610,7 +620,8 @@ stages: marketing_md: | In this stage, you'll add support for reading the value of a key from an RDB file that contains a single key-value pair. - - slug: "rdb-read-multiple-keys" + - legacy_slug: "rdb-read-multiple-keys" + slug: "jw4" primary_extension_slug: "persistence-rdb" name: "Read multiple keys" difficulty: medium @@ -643,7 +654,8 @@ stages: marketing_md: | In this stage, you'll add support for reading multiple keys from an RDB file. You'll do this by extending the `KEYS *` command to support multiple keys. - - slug: "rdb-read-multiple-string-values" + - legacy_slug: "rdb-read-multiple-string-values" + slug: "dq3" primary_extension_slug: "persistence-rdb" name: "Read multiple string values" difficulty: medium @@ -667,7 +679,8 @@ stages: marketing_md: | In this stage, you'll add support for reading multiple string values from an RDB file. - - slug: "rdb-read-value-with-expiry" + - legacy_slug: "rdb-read-value-with-expiry" + slug: "sm4" primary_extension_slug: "persistence-rdb" name: "Read value with expiry" difficulty: medium @@ -698,7 +711,8 @@ stages: # Replication - - slug: "repl-custom-port" + - legacy_slug: "repl-custom-port" + slug: "bw1" primary_extension_slug: "replication" name: "Configure listening port" difficulty: easy @@ -732,7 +746,8 @@ stages: marketing_md: | In this stage, you'll add support for parsing the `--port` flag and starting Redis on a custom port. - - slug: "repl-info" + - legacy_slug: "repl-info" + slug: "ye5" primary_extension_slug: "replication" name: "The INFO command" difficulty: easy @@ -799,7 +814,8 @@ stages: marketing_md: | In this stage, you'll add support for the INFO command on the master. - - slug: "repl-info-replica" + - legacy_slug: "repl-info-replica" + slug: "hc6" primary_extension_slug: "replication" name: "The INFO command on a replica" difficulty: medium @@ -847,7 +863,8 @@ stages: marketing_md: | In this stage, you'll add support for the --replicaof arg and INFO command on the replica. - - slug: "repl-id" + - legacy_slug: "repl-id" + slug: "xc1" primary_extension_slug: "replication" name: "Initial Replication ID and Offset" difficulty: easy @@ -898,7 +915,8 @@ stages: marketing_md: | In this stage, you'll add support for reading a key from an RDB file that contains a single key-value pair. You'll do this by implementing the `KEYS *` command. - - slug: "repl-replica-ping" + - legacy_slug: "repl-replica-ping" + slug: "gl7" primary_extension_slug: "replication" name: "Send handshake (1/3)" difficulty: easy @@ -933,7 +951,8 @@ stages: marketing_md: | In this stage, you'll add support for starting the handshake from the Replica side. - - slug: "repl-replica-replconf" + - legacy_slug: "repl-replica-replconf" + slug: "eh4" primary_extension_slug: "replication" name: "Send handshake (2/3)" difficulty: easy @@ -990,7 +1009,8 @@ stages: marketing_md: | In this stage, you'll add support for continuing the handshake from the Replica side, by sending REPLCONF. - - slug: "repl-replica-psync" + - legacy_slug: "repl-replica-psync" + slug: "ju6" primary_extension_slug: "replication" name: "Send handshake (3/3)" difficulty: medium @@ -1047,7 +1067,8 @@ stages: marketing_md: | In this stage, you'll add support for finishing the handshake from the Replica side, by sending PSYNC. - - slug: "repl-master-replconf" + - legacy_slug: "repl-master-replconf" + slug: "fj0" primary_extension_slug: "replication" name: "Receive handshake (1/2)" difficulty: easy @@ -1086,7 +1107,8 @@ stages: marketing_md: | In this stage, you'll add support for starting the handshake from the master side, by accepting REPLCONF. - - slug: "repl-master-psync" + - legacy_slug: "repl-master-psync" + slug: "vm3" primary_extension_slug: "replication" name: "Receive handshake (2/2)" difficulty: easy @@ -1145,7 +1167,8 @@ stages: marketing_md: | In this stage, you'll add support for accepting PSYNC, and starting a FULLRESYNC. - - slug: "repl-master-psync-rdb" + - legacy_slug: "repl-master-psync-rdb" + slug: "cf8" primary_extension_slug: "replication" name: "Empty RDB Transfer" difficulty: easy @@ -1206,7 +1229,8 @@ stages: marketing_md: | In this stage, you'll add support for sending an empty RDB file to the replica. This is part of the "full resynchronization" process. - - slug: "repl-master-cmd-prop" + - legacy_slug: "repl-master-cmd-prop" + slug: "zn8" primary_extension_slug: "replication" name: "Single-replica propagation" difficulty: medium @@ -1276,7 +1300,8 @@ stages: marketing_md: | In this stage, you'll add support for finishing the sync handshake from the master side, by sending a RDB file. - - slug: "repl-multiple-replicas" + - legacy_slug: "repl-multiple-replicas" + slug: "hd5" primary_extension_slug: "replication" name: "Multi Replica Command Propagation" difficulty: hard @@ -1312,7 +1337,8 @@ stages: marketing_md: | In this stage, you'll complete your implementation of Redis replication. - - slug: "repl-cmd-processing" + - legacy_slug: "repl-cmd-processing" + slug: "yg4" primary_extension_slug: "replication" name: "Command Processing" difficulty: hard @@ -1361,7 +1387,8 @@ stages: marketing_md: | In this stage, you'll add support for processing commands received by the replica from the master. - - slug: "repl-replica-getack" + - legacy_slug: "repl-replica-getack" + slug: "xv6" primary_extension_slug: "replication" name: "ACKs with no commands" difficulty: easy @@ -1428,7 +1455,8 @@ stages: marketing_md: | In this stage, you'll add support for returning an ACK back to master as a response to GETACK. - - slug: "repl-replica-getack-nonzero" + - legacy_slug: "repl-replica-getack-nonzero" + slug: "yd3" primary_extension_slug: "replication" name: "ACKs with commands" difficulty: medium @@ -1503,7 +1531,8 @@ stages: marketing_md: | In this stage, you'll add support for returning an ACK back to master as a response to GETACK. - - slug: "repl-wait-zero-replicas" + - legacy_slug: "repl-wait-zero-replicas" + slug: "my8" primary_extension_slug: "replication" name: "WAIT with no replicas" difficulty: medium @@ -1540,7 +1569,8 @@ stages: marketing_md: | In this stage, you'll start implementing the WAIT command on your master. - - slug: "repl-wait-zero-offset" + - legacy_slug: "repl-wait-zero-offset" + slug: "tu8" primary_extension_slug: "replication" name: "WAIT with no commands" difficulty: medium @@ -1581,7 +1611,8 @@ stages: marketing_md: | In this stage, you'll continue implementing the WAIT command on your master. - - slug: "repl-wait" + - legacy_slug: "repl-wait" + slug: "na2" primary_extension_slug: "replication" name: "WAIT with multiple commands" difficulty: hard @@ -1623,7 +1654,8 @@ stages: In this stage, you'll finish implementing the WAIT command on your master. # Streams - - slug: "streams-type" + - legacy_slug: "streams-type" + slug: "cc3" primary_extension_slug: "streams" name: "The TYPE command" difficulty: easy @@ -1690,7 +1722,8 @@ stages: marketing_md: | In this stage, you'll add support for the `TYPE` command. - - slug: "streams-xadd" + - legacy_slug: "streams-xadd" + slug: "cf6" primary_extension_slug: "streams" name: "Create a stream" difficulty: medium @@ -1770,7 +1803,8 @@ stages: marketing_md: | In this stage, you'll add support for creating a [Redis stream](https://redis.io/docs/data-types/streams/) using the `XADD` command. - - slug: "streams-xadd-validate-id" + - legacy_slug: "streams-xadd-validate-id" + slug: "hq8" primary_extension_slug: "streams" name: "Validating entry IDs" difficulty: easy @@ -1889,7 +1923,8 @@ stages: marketing_md: | In this stage, you'll enhance the `XADD` command by extending support for explicit IDs. - - slug: "streams-xadd-partial-autoid" + - legacy_slug: "streams-xadd-partial-autoid" + slug: "yh3" primary_extension_slug: "streams" name: "Partially auto-generated IDs" difficulty: medium @@ -1960,7 +1995,8 @@ stages: marketing_md: | In this stage, you'll enhance the `XADD` command by adding the option to use `*` as the sequence number. - - slug: "streams-xadd-full-autoid" + - legacy_slug: "streams-xadd-full-autoid" + slug: "xu6" primary_extension_slug: "streams" name: "Fully auto-generated IDs" difficulty: medium @@ -2006,7 +2042,8 @@ stages: marketing_md: | In this stage, you'll enhance the `XADD` command by adding the option to use `*` as the entry ID. - - slug: "streams-xrange" + - legacy_slug: "streams-xrange" + slug: "zx1" primary_extension_slug: "streams" name: "Query entries from stream" difficulty: medium @@ -2149,7 +2186,8 @@ stages: marketing_md: | In this stage, you'll add support for querying data from a stream using the `XRANGE` command. - - slug: "streams-xrange-min-id" + - legacy_slug: "streams-xrange-min-id" + slug: "yp1" primary_extension_slug: "streams" name: "Query with -" difficulty: easy @@ -2238,7 +2276,8 @@ stages: marketing_md: | In this stage, you'll extend support for `XRANGE` to allow querying using `-`. - - slug: "streams-xrange-max-id" + - legacy_slug: "streams-xrange-max-id" + slug: "fs1" primary_extension_slug: "streams" name: "Query with +" difficulty: easy @@ -2337,7 +2376,8 @@ stages: marketing_md: | In this stage, you'll extend support for `XRANGE` to allow querying using `+`. - - slug: "streams-xread" + - legacy_slug: "streams-xread" + slug: "um0" primary_extension_slug: "streams" name: "Query single stream using XREAD" difficulty: medium @@ -2484,7 +2524,8 @@ stages: marketing_md: | In this stage, you'll add support to querying a stream using the `XREAD` command. - - slug: "streams-xread-multiple" + - legacy_slug: "streams-xread-multiple" + slug: "ru9" primary_extension_slug: "streams" name: "Query multiple streams using XREAD" difficulty: medium @@ -2570,7 +2611,8 @@ stages: marketing_md: | In this stage, you'll add extend support to `XREAD` to allow querying multiple streams. - - slug: "streams-xread-block" + - legacy_slug: "streams-xread-block" + slug: "bs1" primary_extension_slug: "streams" name: "Blocking reads" difficulty: hard @@ -2710,7 +2752,8 @@ stages: marketing_md: | In this stage, you'll add extend support to `XREAD` to allow querying multiple streams. - - slug: "streams-xread-block-no-timeout" + - legacy_slug: "streams-xread-block-no-timeout" + slug: "hw1" primary_extension_slug: "streams" name: "Blocking reads without timeout" difficulty: medium @@ -2827,7 +2870,8 @@ stages: marketing_md: | In this stage, you'll add extend support to `XREAD` to allow for the blocking command not timing out. - - slug: "streams-xread-block-max-id" + - legacy_slug: "streams-xread-block-max-id" + slug: "xu1" primary_extension_slug: "streams" name: "Blocking reads using $" difficulty: easy diff --git a/internal/test_helpers/fixtures/bind/failure b/internal/test_helpers/fixtures/bind/failure index f204c427..03e2f70c 100644 --- a/internal/test_helpers/fixtures/bind/failure +++ b/internal/test_helpers/fixtures/bind/failure @@ -1,4 +1,4 @@ -[stage-1] Running tests for Stage #1: init +[stage-1] Running tests for Stage #1: jm1 [stage-1] $ ./spawn_redis_server.sh [stage-1] Connecting to port 6379... [your_program] hey, not going to bind! diff --git a/internal/test_helpers/fixtures/bind/success b/internal/test_helpers/fixtures/bind/success index abf7ce8b..d0294c1e 100644 --- a/internal/test_helpers/fixtures/bind/success +++ b/internal/test_helpers/fixtures/bind/success @@ -1,6 +1,6 @@ Debug = true -[stage-1] Running tests for Stage #1: init +[stage-1] Running tests for Stage #1: jm1 [stage-1] $ ./spawn_redis_server.sh [stage-1] Connecting to port 6379... [your_program] hey, binding to 6379 diff --git a/internal/test_helpers/fixtures/bind/timeout b/internal/test_helpers/fixtures/bind/timeout index 75f84c95..81bfd372 100644 --- a/internal/test_helpers/fixtures/bind/timeout +++ b/internal/test_helpers/fixtures/bind/timeout @@ -1,4 +1,4 @@ -[stage-1] Running tests for Stage #1: init +[stage-1] Running tests for Stage #1: jm1 [stage-1] $ ./spawn_redis_server.sh [stage-1] Connecting to port 6379... [your_program] hey, not going to bind! diff --git a/internal/test_helpers/fixtures/expiry/pass b/internal/test_helpers/fixtures/expiry/pass index 25ffd8be..8e703c70 100644 --- a/internal/test_helpers/fixtures/expiry/pass +++ b/internal/test_helpers/fixtures/expiry/pass @@ -1,21 +1,21 @@ Debug = true -[stage-7] Running tests for Stage #7: expiry +[stage-7] Running tests for Stage #7: yz1 [stage-7] $ ./spawn_redis_server.sh [stage-7] $ redis-cli SET apple blueberry px 100 [stage-7] Sent bytes: "*5\r\n$3\r\nSET\r\n$5\r\napple\r\n$9\r\nblueberry\r\n$2\r\npx\r\n$3\r\n100\r\n" [stage-7] Received bytes: "+OK\r\n" [stage-7] Received RESP value: "OK" [stage-7] Received "OK" -[stage-7] Received OK at 17:00:21.700 -[stage-7] Fetching key "apple" at 17:00:21.700 (should not be expired) +[stage-7] Received OK at 02:05:03.213 +[stage-7] Fetching key "apple" at 02:05:03.213 (should not be expired) [stage-7] $ redis-cli GET apple [stage-7] Sent bytes: "*2\r\n$3\r\nGET\r\n$5\r\napple\r\n" [stage-7] Received bytes: "$9\r\nblueberry\r\n" [stage-7] Received RESP value: "blueberry" [stage-7] Received "blueberry" [stage-7] Sleeping for 101ms -[stage-7] Fetching key "apple" at 17:00:21.803 (should be expired) +[stage-7] Fetching key "apple" at 02:05:03.316 (should be expired) [stage-7] $ redis-cli GET apple [stage-7] Sent bytes: "*2\r\n$3\r\nGET\r\n$5\r\napple\r\n" [stage-7] Received bytes: "$-1\r\n" @@ -25,7 +25,7 @@ Debug = true [stage-7] Terminating program [stage-7] Program terminated successfully -[stage-6] Running tests for Stage #6: set_get +[stage-6] Running tests for Stage #6: la7 [stage-6] $ ./spawn_redis_server.sh [stage-6] Setting key blueberry to raspberry [stage-6] $ redis-cli SET blueberry raspberry @@ -43,7 +43,7 @@ Debug = true [stage-6] Terminating program [stage-6] Program terminated successfully -[stage-5] Running tests for Stage #5: echo +[stage-5] Running tests for Stage #5: qq0 [stage-5] $ ./spawn_redis_server.sh [stage-5] $ redis-cli ECHO pear [stage-5] Sent bytes: "*2\r\n$4\r\nECHO\r\n$4\r\npear\r\n" @@ -54,7 +54,7 @@ Debug = true [stage-5] Terminating program [stage-5] Program terminated successfully -[stage-4] Running tests for Stage #4: concurrent-clients +[stage-4] Running tests for Stage #4: zu2 [stage-4] $ ./spawn_redis_server.sh [stage-4] client-1: $ redis-cli PING [stage-4] client-1: Sent bytes: "*1\r\n$4\r\nPING\r\n" @@ -93,7 +93,7 @@ Debug = true [stage-4] Terminating program [stage-4] Program terminated successfully -[stage-3] Running tests for Stage #3: ping-pong-multiple +[stage-3] Running tests for Stage #3: wy1 [stage-3] $ ./spawn_redis_server.sh [stage-3] client-1: $ redis-cli PING [stage-3] client-1: Sent bytes: "*1\r\n$4\r\nPING\r\n" @@ -115,7 +115,7 @@ Debug = true [stage-3] Terminating program [stage-3] Program terminated successfully -[stage-2] Running tests for Stage #2: ping-pong +[stage-2] Running tests for Stage #2: rg2 [stage-2] $ ./spawn_redis_server.sh [stage-2] Connection established, sending ping command... [stage-2] $ redis-cli PING @@ -127,7 +127,7 @@ Debug = true [stage-2] Terminating program [stage-2] Program terminated successfully -[stage-1] Running tests for Stage #1: init +[stage-1] Running tests for Stage #1: jm1 [stage-1] $ ./spawn_redis_server.sh [stage-1] Connecting to port 6379... [stage-1] Connection successful diff --git a/internal/test_helpers/fixtures/ping-pong/eof b/internal/test_helpers/fixtures/ping-pong/eof index 8ac8e56d..6000aa58 100644 --- a/internal/test_helpers/fixtures/ping-pong/eof +++ b/internal/test_helpers/fixtures/ping-pong/eof @@ -1,6 +1,6 @@ Debug = true -[stage-2] Running tests for Stage #2: ping-pong +[stage-2] Running tests for Stage #2: rg2 [stage-2] $ ./spawn_redis_server.sh [your_program] hey, binding to 6379 [stage-2] Connection established, sending ping command... diff --git a/internal/test_helpers/fixtures/ping-pong/slow_response b/internal/test_helpers/fixtures/ping-pong/slow_response index 0ee9ffba..77f96ebc 100644 --- a/internal/test_helpers/fixtures/ping-pong/slow_response +++ b/internal/test_helpers/fixtures/ping-pong/slow_response @@ -1,11 +1,11 @@ -[stage-2] Running tests for Stage #2: ping-pong +[stage-2] Running tests for Stage #2: rg2 [stage-2] $ ./spawn_redis_server.sh [your_program] hey, binding to 6379 [stage-2] $ redis-cli PING [stage-2] Received "PONG" [stage-2] Test passed. -[stage-1] Running tests for Stage #1: init +[stage-1] Running tests for Stage #1: jm1 [stage-1] $ ./spawn_redis_server.sh [stage-1] Connecting to port 6379... [your_program] hey, binding to 6379 diff --git a/internal/test_helpers/fixtures/ping-pong/without_crlf b/internal/test_helpers/fixtures/ping-pong/without_crlf index 5b06dfa8..6b7d9007 100644 --- a/internal/test_helpers/fixtures/ping-pong/without_crlf +++ b/internal/test_helpers/fixtures/ping-pong/without_crlf @@ -1,4 +1,4 @@ -[stage-2] Running tests for Stage #2: ping-pong +[stage-2] Running tests for Stage #2: rg2 [stage-2] $ ./spawn_redis_server.sh [your_program] hey, binding to 6379 [stage-2] $ redis-cli PING diff --git a/internal/test_helpers/fixtures/ping-pong/without_read_multiple_pongs b/internal/test_helpers/fixtures/ping-pong/without_read_multiple_pongs index 1978010a..f1720e62 100644 --- a/internal/test_helpers/fixtures/ping-pong/without_read_multiple_pongs +++ b/internal/test_helpers/fixtures/ping-pong/without_read_multiple_pongs @@ -1,4 +1,4 @@ -[stage-2] Running tests for Stage #2: ping-pong +[stage-2] Running tests for Stage #2: rg2 [stage-2] $ ./spawn_redis_server.sh [your_program] Logs from your program will appear here! [stage-2] $ redis-cli PING diff --git a/internal/test_helpers/fixtures/rdb-read-value-with-expiry/pass b/internal/test_helpers/fixtures/rdb-read-value-with-expiry/pass index 709cfa11..08c30d76 100644 --- a/internal/test_helpers/fixtures/rdb-read-value-with-expiry/pass +++ b/internal/test_helpers/fixtures/rdb-read-value-with-expiry/pass @@ -1,7 +1,7 @@ Debug = true -[stage-13] Running tests for Stage #13: rdb-read-value-with-expiry -[stage-13] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles3027591544 --dbfilename pear.rdb +[stage-13] Running tests for Stage #13: sm4 +[stage-13] $ ./spawn_redis_server.sh --dir /private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles930858323 --dbfilename pear.rdb [stage-13] client: $ redis-cli GET orange [stage-13] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$6\r\norange\r\n" [stage-13] client: Received bytes: "$10\r\nstrawberry\r\n" @@ -21,9 +21,9 @@ Debug = true [stage-13] Terminating program [stage-13] Program terminated successfully -[stage-12] Running tests for Stage #12: rdb-read-multiple-string-values +[stage-12] Running tests for Stage #12: dq3 [stage-12] Created RDB file with key-value pairs: "grape"="pineapple", "apple"="raspberry", "banana"="apple", "mango"="orange", "orange"="pear" -[stage-12] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles4230549431 --dbfilename raspberry.rdb +[stage-12] $ ./spawn_redis_server.sh --dir /private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles291464650 --dbfilename raspberry.rdb [stage-12] client: $ redis-cli GET grape [stage-12] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$5\r\ngrape\r\n" [stage-12] client: Received bytes: "$9\r\npineapple\r\n" @@ -53,21 +53,21 @@ Debug = true [stage-12] Terminating program [stage-12] Program terminated successfully -[stage-11] Running tests for Stage #11: rdb-read-multiple-keys +[stage-11] Running tests for Stage #11: jw4 [stage-11] Created RDB file with 3 keys: ["banana" "apple" "blueberry"] -[stage-11] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles1567495839 --dbfilename blueberry.rdb +[stage-11] $ ./spawn_redis_server.sh --dir /private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles3424348494 --dbfilename blueberry.rdb [stage-11] client: $ redis-cli KEYS * [stage-11] client: Sent bytes: "*2\r\n$4\r\nKEYS\r\n$1\r\n*\r\n" -[stage-11] client: Received bytes: "*3\r\n$5\r\napple\r\n$6\r\nbanana\r\n$9\r\nblueberry\r\n" -[stage-11] client: Received RESP value: ["apple", "banana", "blueberry"] -[stage-11] Received ["apple", "banana", "blueberry"] +[stage-11] client: Received bytes: "*3\r\n$5\r\napple\r\n$9\r\nblueberry\r\n$6\r\nbanana\r\n" +[stage-11] client: Received RESP value: ["apple", "blueberry", "banana"] +[stage-11] Received ["apple", "blueberry", "banana"] [stage-11] Test passed. [stage-11] Terminating program [stage-11] Program terminated successfully -[stage-10] Running tests for Stage #10: rdb-read-string-value +[stage-10] Running tests for Stage #10: gc6 [stage-10] Created RDB file with single key-value pair: grape="pineapple" -[stage-10] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles775229267 --dbfilename orange.rdb +[stage-10] $ ./spawn_redis_server.sh --dir /private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles1667355668 --dbfilename orange.rdb [stage-10] client: $ redis-cli GET grape [stage-10] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$5\r\ngrape\r\n" [stage-10] client: Received bytes: "$9\r\npineapple\r\n" @@ -77,9 +77,9 @@ Debug = true [stage-10] Terminating program [stage-10] Program terminated successfully -[stage-9] Running tests for Stage #9: rdb-read-key +[stage-9] Running tests for Stage #9: jz6 [stage-9] Created RDB file with single key: "mango" -[stage-9] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles1527972385 --dbfilename pear.rdb +[stage-9] $ ./spawn_redis_server.sh --dir /private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles4106213172 --dbfilename pear.rdb [stage-9] client: $ redis-cli KEYS * [stage-9] client: Sent bytes: "*2\r\n$4\r\nKEYS\r\n$1\r\n*\r\n" [stage-9] client: Received bytes: "*1\r\n$5\r\nmango\r\n" @@ -89,33 +89,33 @@ Debug = true [stage-9] Terminating program [stage-9] Program terminated successfully -[stage-8] Running tests for Stage #8: rdb-config -[stage-8] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles1821958071 --dbfilename blueberry.rdb +[stage-8] Running tests for Stage #8: zg5 +[stage-8] $ ./spawn_redis_server.sh --dir /private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles3669335023 --dbfilename blueberry.rdb [stage-8] client: $ redis-cli CONFIG GET dir [stage-8] client: Sent bytes: "*3\r\n$6\r\nCONFIG\r\n$3\r\nGET\r\n$3\r\ndir\r\n" -[stage-8] client: Received bytes: "*2\r\n$3\r\ndir\r\n$75\r\n/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles1821958071\r\n" -[stage-8] client: Received RESP value: ["dir", "/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles1821958071"] -[stage-8] Received ["dir", "/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles1821958071"] +[stage-8] client: Received bytes: "*2\r\n$3\r\ndir\r\n$75\r\n/private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles3669335023\r\n" +[stage-8] client: Received RESP value: ["dir", "/private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles3669335023"] +[stage-8] Received ["dir", "/private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles3669335023"] [stage-8] Test passed. [stage-8] Terminating program [stage-8] Program terminated successfully -[stage-7] Running tests for Stage #7: expiry +[stage-7] Running tests for Stage #7: yz1 [stage-7] $ ./spawn_redis_server.sh [stage-7] $ redis-cli SET strawberry pear px 100 [stage-7] Sent bytes: "*5\r\n$3\r\nSET\r\n$10\r\nstrawberry\r\n$4\r\npear\r\n$2\r\npx\r\n$3\r\n100\r\n" [stage-7] Received bytes: "+OK\r\n" [stage-7] Received RESP value: "OK" [stage-7] Received "OK" -[stage-7] Received OK at 21:36:24.124 -[stage-7] Fetching key "strawberry" at 21:36:24.124 (should not be expired) +[stage-7] Received OK at 02:05:11.019 +[stage-7] Fetching key "strawberry" at 02:05:11.019 (should not be expired) [stage-7] $ redis-cli GET strawberry [stage-7] Sent bytes: "*2\r\n$3\r\nGET\r\n$10\r\nstrawberry\r\n" [stage-7] Received bytes: "$4\r\npear\r\n" [stage-7] Received RESP value: "pear" [stage-7] Received "pear" [stage-7] Sleeping for 101ms -[stage-7] Fetching key "strawberry" at 21:36:24.227 (should be expired) +[stage-7] Fetching key "strawberry" at 02:05:11.122 (should be expired) [stage-7] $ redis-cli GET strawberry [stage-7] Sent bytes: "*2\r\n$3\r\nGET\r\n$10\r\nstrawberry\r\n" [stage-7] Received bytes: "$-1\r\n" @@ -125,7 +125,7 @@ Debug = true [stage-7] Terminating program [stage-7] Program terminated successfully -[stage-6] Running tests for Stage #6: set_get +[stage-6] Running tests for Stage #6: la7 [stage-6] $ ./spawn_redis_server.sh [stage-6] Setting key grape to raspberry [stage-6] $ redis-cli SET grape raspberry @@ -143,7 +143,7 @@ Debug = true [stage-6] Terminating program [stage-6] Program terminated successfully -[stage-5] Running tests for Stage #5: echo +[stage-5] Running tests for Stage #5: qq0 [stage-5] $ ./spawn_redis_server.sh [stage-5] $ redis-cli ECHO mango [stage-5] Sent bytes: "*2\r\n$4\r\nECHO\r\n$5\r\nmango\r\n" @@ -154,7 +154,7 @@ Debug = true [stage-5] Terminating program [stage-5] Program terminated successfully -[stage-4] Running tests for Stage #4: concurrent-clients +[stage-4] Running tests for Stage #4: zu2 [stage-4] $ ./spawn_redis_server.sh [stage-4] client-1: $ redis-cli PING [stage-4] client-1: Sent bytes: "*1\r\n$4\r\nPING\r\n" @@ -193,7 +193,7 @@ Debug = true [stage-4] Terminating program [stage-4] Program terminated successfully -[stage-3] Running tests for Stage #3: ping-pong-multiple +[stage-3] Running tests for Stage #3: wy1 [stage-3] $ ./spawn_redis_server.sh [stage-3] client-1: $ redis-cli PING [stage-3] client-1: Sent bytes: "*1\r\n$4\r\nPING\r\n" @@ -215,7 +215,7 @@ Debug = true [stage-3] Terminating program [stage-3] Program terminated successfully -[stage-2] Running tests for Stage #2: ping-pong +[stage-2] Running tests for Stage #2: rg2 [stage-2] $ ./spawn_redis_server.sh [stage-2] Connection established, sending ping command... [stage-2] $ redis-cli PING @@ -227,7 +227,7 @@ Debug = true [stage-2] Terminating program [stage-2] Program terminated successfully -[stage-1] Running tests for Stage #1: init +[stage-1] Running tests for Stage #1: jm1 [stage-1] $ ./spawn_redis_server.sh [stage-1] Connecting to port 6379... [stage-1] Connection successful diff --git a/internal/test_helpers/fixtures/repl-wait/pass b/internal/test_helpers/fixtures/repl-wait/pass index a1529921..d806fd74 100644 --- a/internal/test_helpers/fixtures/repl-wait/pass +++ b/internal/test_helpers/fixtures/repl-wait/pass @@ -1,6 +1,6 @@ Debug = true -[stage-31] Running tests for Stage #31: repl-wait +[stage-31] Running tests for Stage #31: na2 [stage-31] $ ./spawn_redis_server.sh --port 6379 [stage-31] Proceeding to create 4 replicas. [stage-31] Creating replica: 1 @@ -21,11 +21,11 @@ Debug = true [stage-31] Received "OK" [stage-31] replica-1: $ redis-cli PSYNC ? -1 [stage-31] replica-1: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-31] replica-1: Received bytes: "+FULLRESYNC 27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2 0\r\n" -[stage-31] replica-1: Received RESP value: "FULLRESYNC 27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2 0" -[stage-31] Received "FULLRESYNC 27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2 0" +[stage-31] replica-1: Received bytes: "+FULLRESYNC 3eb0787d690c3043af13e95b7c23dbcc98dbb984 0\r\n" +[stage-31] replica-1: Received RESP value: "FULLRESYNC 3eb0787d690c3043af13e95b7c23dbcc98dbb984 0" +[stage-31] Received "FULLRESYNC 3eb0787d690c3043af13e95b7c23dbcc98dbb984 0" [stage-31] Reading RDB file... -[stage-31] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xe8G>f\xfa\bused-mem\xc20\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xe6Xv,\xf5\xe2\x05\x14" +[stage-31] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xd8JFf\xfa\bused-mem\u00a0\r\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(3eb0787d690c3043af13e95b7c23dbcc98dbb984\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xf2\xabL\xa3\x83\xb2\xef\x19" [stage-31] Received RDB file [stage-31] Creating replica: 2 [stage-31] replica-2: $ redis-cli PING @@ -45,11 +45,11 @@ Debug = true [stage-31] Received "OK" [stage-31] replica-2: $ redis-cli PSYNC ? -1 [stage-31] replica-2: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-31] replica-2: Received bytes: "+FULLRESYNC 27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2 0\r\n" -[stage-31] replica-2: Received RESP value: "FULLRESYNC 27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2 0" -[stage-31] Received "FULLRESYNC 27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2 0" +[stage-31] replica-2: Received bytes: "+FULLRESYNC 3eb0787d690c3043af13e95b7c23dbcc98dbb984 0\r\n" +[stage-31] replica-2: Received RESP value: "FULLRESYNC 3eb0787d690c3043af13e95b7c23dbcc98dbb984 0" +[stage-31] Received "FULLRESYNC 3eb0787d690c3043af13e95b7c23dbcc98dbb984 0" [stage-31] Reading RDB file... -[stage-31] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xe8G>f\xfa\bused-mem\xc2\xc0\xf5\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffOM\xe1+\rOˡ" +[stage-31] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xd8JFf\xfa\bused-mem\xc20\xb9\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(3eb0787d690c3043af13e95b7c23dbcc98dbb984\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff{F\x8b\xbc\x9b\xbd`=" [stage-31] Received RDB file [stage-31] Creating replica: 3 [stage-31] replica-3: $ redis-cli PING @@ -69,11 +69,11 @@ Debug = true [stage-31] Received "OK" [stage-31] replica-3: $ redis-cli PSYNC ? -1 [stage-31] replica-3: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-31] replica-3: Received bytes: "+FULLRESYNC 27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2 0\r\n" -[stage-31] replica-3: Received RESP value: "FULLRESYNC 27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2 0" -[stage-31] Received "FULLRESYNC 27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2 0" +[stage-31] replica-3: Received bytes: "+FULLRESYNC 3eb0787d690c3043af13e95b7c23dbcc98dbb984 0\r\n" +[stage-31] replica-3: Received RESP value: "FULLRESYNC 3eb0787d690c3043af13e95b7c23dbcc98dbb984 0" +[stage-31] Received "FULLRESYNC 3eb0787d690c3043af13e95b7c23dbcc98dbb984 0" [stage-31] Reading RDB file... -[stage-31] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xe8G>f\xfa\bused-mem\xc2\xc0@\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffwjyc\xe4\x80\\\x8f" +[stage-31] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xd9JFf\xfa\bused-mem\xc20@\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(3eb0787d690c3043af13e95b7c23dbcc98dbb984\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff1\x18\xa9s\xfe?^\xbc" [stage-31] Received RDB file [stage-31] Creating replica: 4 [stage-31] replica-4: $ redis-cli PING @@ -93,11 +93,11 @@ Debug = true [stage-31] Received "OK" [stage-31] replica-4: $ redis-cli PSYNC ? -1 [stage-31] replica-4: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-31] replica-4: Received bytes: "+FULLRESYNC 27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2 0\r\n" -[stage-31] replica-4: Received RESP value: "FULLRESYNC 27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2 0" -[stage-31] Received "FULLRESYNC 27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2 0" +[stage-31] replica-4: Received bytes: "+FULLRESYNC 3eb0787d690c3043af13e95b7c23dbcc98dbb984 0\r\n" +[stage-31] replica-4: Received RESP value: "FULLRESYNC 3eb0787d690c3043af13e95b7c23dbcc98dbb984 0" +[stage-31] Received "FULLRESYNC 3eb0787d690c3043af13e95b7c23dbcc98dbb984 0" [stage-31] Reading RDB file... -[stage-31] replica-4: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xe8G>f\xfa\bused-mem\xc2Ћ\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(27f339d71e7e0b0ab4439c97b65da9acf3b2b0c2\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xb3_\xf8\x14\xf2\xfaI'" +[stage-31] replica-4: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xd9JFf\xfa\bused-mem\xc2@\x8b\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(3eb0787d690c3043af13e95b7c23dbcc98dbb984\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xfff\xb8\x80x\xb9謎" [stage-31] Received RDB file [stage-31] client: $ redis-cli SET foo 123 [stage-31] client: Sent bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" @@ -214,12 +214,12 @@ Debug = true [stage-31] replica-4: Not sending ACK to Master [stage-31] client: Received bytes: ":3\r\n" [stage-31] client: Received RESP value: 3 -[stage-31] WAIT command returned after 2104 ms +[stage-31] WAIT command returned after 2096 ms [stage-31] Test passed. [stage-31] Terminating program [stage-31] Program terminated successfully -[stage-30] Running tests for Stage #30: repl-wait-zero-offset +[stage-30] Running tests for Stage #30: tu8 [stage-30] $ ./spawn_redis_server.sh --port 6379 [stage-30] Proceeding to create 7 replicas. [stage-30] Creating replica: 1 @@ -240,11 +240,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-1: $ redis-cli PSYNC ? -1 [stage-30] replica-1: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-30] replica-1: Received bytes: "+FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0\r\n" -[stage-30] replica-1: Received RESP value: "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0" -[stage-30] Received "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0" +[stage-30] replica-1: Received bytes: "+FULLRESYNC f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24 0\r\n" +[stage-30] replica-1: Received RESP value: "FULLRESYNC f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24 0" +[stage-30] Received "FULLRESYNC f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24 0" [stage-30] Reading RDB file... -[stage-30] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xeaG>f\xfa\bused-mem\xc20\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(8cd14a6c81272bb3a43b385ffd61fde3e79b51dc\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffI#\xae\xa1|\x85\xbch" +[stage-30] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xdbJFf\xfa\bused-mem\xc2\x00\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffk\xe9r\x88D\xc9\xeb\xab" [stage-30] Received RDB file [stage-30] Creating replica: 2 [stage-30] replica-2: $ redis-cli PING @@ -264,11 +264,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-2: $ redis-cli PSYNC ? -1 [stage-30] replica-2: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-30] replica-2: Received bytes: "+FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0\r\n" -[stage-30] replica-2: Received RESP value: "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0" -[stage-30] Received "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0" +[stage-30] replica-2: Received bytes: "+FULLRESYNC f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24 0\r\n" +[stage-30] replica-2: Received RESP value: "FULLRESYNC f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24 0" +[stage-30] Received "FULLRESYNC f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24 0" [stage-30] Reading RDB file... -[stage-30] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xeaG>f\xfa\bused-mem\xc2\xc0\xf5\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(8cd14a6c81272bb3a43b385ffd61fde3e79b51dc\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xe069\xa6\x84(r\xdd" +[stage-30] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xdbJFf\xfa\bused-mem\u0090\xf5\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffQiM\xf3\xed\xc9\u0084" [stage-30] Received RDB file [stage-30] Creating replica: 3 [stage-30] replica-3: $ redis-cli PING @@ -288,11 +288,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-3: $ redis-cli PSYNC ? -1 [stage-30] replica-3: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-30] replica-3: Received bytes: "+FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0\r\n" -[stage-30] replica-3: Received RESP value: "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0" -[stage-30] Received "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0" +[stage-30] replica-3: Received bytes: "+FULLRESYNC f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24 0\r\n" +[stage-30] replica-3: Received RESP value: "FULLRESYNC f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24 0" +[stage-30] Received "FULLRESYNC f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24 0" [stage-30] Reading RDB file... -[stage-30] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xeaG>f\xfa\bused-mem\xc2\xc0@\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(8cd14a6c81272bb3a43b385ffd61fde3e79b51dc\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xd8\x11\xa1\xeem\xe7\xe5\xf3" +[stage-30] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xdbJFf\xfa\bused-mem\u0090@\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffiNջ\x04\x06U\xaa" [stage-30] Received RDB file [stage-30] Creating replica: 4 [stage-30] replica-4: $ redis-cli PING @@ -312,11 +312,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-4: $ redis-cli PSYNC ? -1 [stage-30] replica-4: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-30] replica-4: Received bytes: "+FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0\r\n" -[stage-30] replica-4: Received RESP value: "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0" -[stage-30] Received "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0" +[stage-30] replica-4: Received bytes: "+FULLRESYNC f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24 0\r\n" +[stage-30] replica-4: Received RESP value: "FULLRESYNC f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24 0" +[stage-30] Received "FULLRESYNC f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24 0" [stage-30] Reading RDB file... -[stage-30] replica-4: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xebG>f\xfa\bused-mem\xc2Ћ\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(8cd14a6c81272bb3a43b385ffd61fde3e79b51dc\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xe9\xd1x\xfd\x80,\xa6\x85" +[stage-30] replica-4: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xdbJFf\xfa\bused-mem\u00a0\x8b\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xdc\b\xcc\xe7\xdd\x18\x1dt" [stage-30] Received RDB file [stage-30] Creating replica: 5 [stage-30] replica-5: $ redis-cli PING @@ -336,11 +336,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-5: $ redis-cli PSYNC ? -1 [stage-30] replica-5: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-30] replica-5: Received bytes: "+FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0\r\n" -[stage-30] replica-5: Received RESP value: "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0" -[stage-30] Received "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0" +[stage-30] replica-5: Received bytes: "+FULLRESYNC f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24 0\r\n" +[stage-30] replica-5: Received RESP value: "FULLRESYNC f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24 0" +[stage-30] Received "FULLRESYNC f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24 0" [stage-30] Reading RDB file... -[stage-30] replica-5: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xebG>f\xfa\bused-mem\xc2\xe0\xd6\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(8cd14a6c81272bb3a43b385ffd61fde3e79b51dc\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xe8V9\x10\xb5\x9cv\xcf" +[stage-30] replica-5: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xdbJFf\xfa\bused-mem°\xd6\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xac\xfc\x15!'̐H" [stage-30] Received RDB file [stage-30] Creating replica: 6 [stage-30] replica-6: $ redis-cli PING @@ -360,11 +360,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-6: $ redis-cli PSYNC ? -1 [stage-30] replica-6: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-30] replica-6: Received bytes: "+FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0\r\n" -[stage-30] replica-6: Received RESP value: "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0" -[stage-30] Received "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0" +[stage-30] replica-6: Received bytes: "+FULLRESYNC f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24 0\r\n" +[stage-30] replica-6: Received RESP value: "FULLRESYNC f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24 0" +[stage-30] Received "FULLRESYNC f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24 0" [stage-30] Reading RDB file... -[stage-30] replica-6: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xebG>f\xfa\bused-mem\xc2\x10#\x14\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(8cd14a6c81272bb3a43b385ffd61fde3e79b51dc\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xb4\xd8!J/D6\xbc" +[stage-30] replica-6: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xdcJFf\xfa\bused-mem°!\x14\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xddi\x10v\xc1\xcb\xd3\x05" [stage-30] Received RDB file [stage-30] Creating replica: 7 [stage-30] replica-7: $ redis-cli PING @@ -384,11 +384,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-7: $ redis-cli PSYNC ? -1 [stage-30] replica-7: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-30] replica-7: Received bytes: "+FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0\r\n" -[stage-30] replica-7: Received RESP value: "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0" -[stage-30] Received "FULLRESYNC 8cd14a6c81272bb3a43b385ffd61fde3e79b51dc 0" +[stage-30] replica-7: Received bytes: "+FULLRESYNC f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24 0\r\n" +[stage-30] replica-7: Received RESP value: "FULLRESYNC f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24 0" +[stage-30] Received "FULLRESYNC f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24 0" [stage-30] Reading RDB file... -[stage-30] replica-7: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xebG>f\xfa\bused-mem\xc2 n\x14\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(8cd14a6c81272bb3a43b385ffd61fde3e79b51dc\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffz\xf9\xa7\x0eU\xb1\x16\xda" +[stage-30] replica-7: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xdcJFf\xfa\bused-mem\xc2\xc0l\x14\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(f3a38a9e7b113f81c8486b5a1d1cd68ad3f51e24\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xf1\xae\xa6e%\xf7I\x8f" [stage-30] Received RDB file [stage-30] client: $ redis-cli WAIT 3 500 [stage-30] client: Sent bytes: "*3\r\n$4\r\nWAIT\r\n$1\r\n3\r\n$3\r\n500\r\n" @@ -414,7 +414,7 @@ Debug = true [stage-30] Terminating program [stage-30] Program terminated successfully -[stage-29] Running tests for Stage #29: repl-wait-zero-replicas +[stage-29] Running tests for Stage #29: my8 [stage-29] $ ./spawn_redis_server.sh --port 6379 [stage-29] client: $ redis-cli WAIT 0 60000 [stage-29] client: Sent bytes: "*3\r\n$4\r\nWAIT\r\n$1\r\n0\r\n$5\r\n60000\r\n" @@ -425,7 +425,7 @@ Debug = true [stage-29] Terminating program [stage-29] Program terminated successfully -[stage-28] Running tests for Stage #28: repl-replica-getack-nonzero +[stage-28] Running tests for Stage #28: yd3 [stage-28] Master is running on port 6379 [stage-28] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" [stage-28] master: Waiting for replica to initiate handshake with "PING" command @@ -480,7 +480,7 @@ Debug = true [stage-28] Terminating program [stage-28] Program terminated successfully -[stage-27] Running tests for Stage #27: repl-replica-getack +[stage-27] Running tests for Stage #27: xv6 [stage-27] Master is running on port 6379 [stage-27] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" [stage-27] master: Waiting for replica to initiate handshake with "PING" command @@ -519,7 +519,7 @@ Debug = true [stage-27] Terminating program [stage-27] Program terminated successfully -[stage-26] Running tests for Stage #26: repl-cmd-processing +[stage-26] Running tests for Stage #26: yg4 [stage-26] Master is running on port 6379 [stage-26] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" [stage-26] master: Waiting for replica to initiate handshake with "PING" command @@ -577,7 +577,7 @@ Debug = true [stage-26] Terminating program [stage-26] Program terminated successfully -[stage-25] Running tests for Stage #25: repl-multiple-replicas +[stage-25] Running tests for Stage #25: hd5 [stage-25] $ ./spawn_redis_server.sh --port 6379 [stage-25] Creating replica: 1 [stage-25] replica-1: $ redis-cli PING @@ -597,11 +597,11 @@ Debug = true [stage-25] Received "OK" [stage-25] replica-1: $ redis-cli PSYNC ? -1 [stage-25] replica-1: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-25] replica-1: Received bytes: "+FULLRESYNC b8512b711c89467776abd880b8206d999b5bc5cc 0\r\n" -[stage-25] replica-1: Received RESP value: "FULLRESYNC b8512b711c89467776abd880b8206d999b5bc5cc 0" -[stage-25] Received "FULLRESYNC b8512b711c89467776abd880b8206d999b5bc5cc 0" +[stage-25] replica-1: Received bytes: "+FULLRESYNC 8d647d6429b55f2cfebe3f0353cf9ee066545016 0\r\n" +[stage-25] replica-1: Received RESP value: "FULLRESYNC 8d647d6429b55f2cfebe3f0353cf9ee066545016 0" +[stage-25] Received "FULLRESYNC 8d647d6429b55f2cfebe3f0353cf9ee066545016 0" [stage-25] Reading RDB file... -[stage-25] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xecG>f\xfa\bused-mem\xc2 S\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(b8512b711c89467776abd880b8206d999b5bc5cc\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xf5\xa8\x15\x1d\x8dعA" +[stage-25] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xddJFf\xfa\bused-mem\xc2\x10S\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(8d647d6429b55f2cfebe3f0353cf9ee066545016\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xe9\xff\x89#\xa1\x90Y\xd8" [stage-25] Received RDB file [stage-25] Creating replica: 2 [stage-25] replica-2: $ redis-cli PING @@ -621,11 +621,11 @@ Debug = true [stage-25] Received "OK" [stage-25] replica-2: $ redis-cli PSYNC ? -1 [stage-25] replica-2: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-25] replica-2: Received bytes: "+FULLRESYNC b8512b711c89467776abd880b8206d999b5bc5cc 0\r\n" -[stage-25] replica-2: Received RESP value: "FULLRESYNC b8512b711c89467776abd880b8206d999b5bc5cc 0" -[stage-25] Received "FULLRESYNC b8512b711c89467776abd880b8206d999b5bc5cc 0" +[stage-25] replica-2: Received bytes: "+FULLRESYNC 8d647d6429b55f2cfebe3f0353cf9ee066545016 0\r\n" +[stage-25] replica-2: Received RESP value: "FULLRESYNC 8d647d6429b55f2cfebe3f0353cf9ee066545016 0" +[stage-25] Received "FULLRESYNC 8d647d6429b55f2cfebe3f0353cf9ee066545016 0" [stage-25] Reading RDB file... -[stage-25] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xecG>f\xfa\bused-mem\u0090:\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(b8512b711c89467776abd880b8206d999b5bc5cc\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffE\xdd\xeb\xed\x9cR\tT" +[stage-25] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xddJFf\xfa\bused-mem\u0080\xc2\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(8d647d6429b55f2cfebe3f0353cf9ee066545016\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xa2|\xee\xe6m\x01\xdc+" [stage-25] Received RDB file [stage-25] Creating replica: 3 [stage-25] replica-3: $ redis-cli PING @@ -645,11 +645,11 @@ Debug = true [stage-25] Received "OK" [stage-25] replica-3: $ redis-cli PSYNC ? -1 [stage-25] replica-3: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-25] replica-3: Received bytes: "+FULLRESYNC b8512b711c89467776abd880b8206d999b5bc5cc 0\r\n" -[stage-25] replica-3: Received RESP value: "FULLRESYNC b8512b711c89467776abd880b8206d999b5bc5cc 0" -[stage-25] Received "FULLRESYNC b8512b711c89467776abd880b8206d999b5bc5cc 0" +[stage-25] replica-3: Received bytes: "+FULLRESYNC 8d647d6429b55f2cfebe3f0353cf9ee066545016 0\r\n" +[stage-25] replica-3: Received RESP value: "FULLRESYNC 8d647d6429b55f2cfebe3f0353cf9ee066545016 0" +[stage-25] Received "FULLRESYNC 8d647d6429b55f2cfebe3f0353cf9ee066545016 0" [stage-25] Reading RDB file... -[stage-25] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xecG>f\xfa\bused-mem\u00a0I\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(b8512b711c89467776abd880b8206d999b5bc5cc\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff`ϸ%5>^0" +[stage-25] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xddJFf\xfa\bused-mem\u0090I\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(8d647d6429b55f2cfebe3f0353cf9ee066545016\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff|\x98$\x1b\x19v\xbe\xa9" [stage-25] Received RDB file [stage-25] client: $ redis-cli SET foo 123 [stage-25] client: Sent bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" @@ -715,7 +715,7 @@ Debug = true [stage-25] Terminating program [stage-25] Program terminated successfully -[stage-24] Running tests for Stage #24: repl-master-cmd-prop +[stage-24] Running tests for Stage #24: zn8 [stage-24] $ ./spawn_redis_server.sh --port 6379 [stage-24] replica: $ redis-cli PING [stage-24] replica: Sent bytes: "*1\r\n$4\r\nPING\r\n" @@ -734,11 +734,11 @@ Debug = true [stage-24] Received "OK" [stage-24] replica: $ redis-cli PSYNC ? -1 [stage-24] replica: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-24] replica: Received bytes: "+FULLRESYNC 1227420da59b3d0469c84bea9f1ea996ba2002b3 0\r\n" -[stage-24] replica: Received RESP value: "FULLRESYNC 1227420da59b3d0469c84bea9f1ea996ba2002b3 0" -[stage-24] Received "FULLRESYNC 1227420da59b3d0469c84bea9f1ea996ba2002b3 0" +[stage-24] replica: Received bytes: "+FULLRESYNC d11ec8923be5fcc18253d8b27d4284817a0422aa 0\r\n" +[stage-24] replica: Received RESP value: "FULLRESYNC d11ec8923be5fcc18253d8b27d4284817a0422aa 0" +[stage-24] Received "FULLRESYNC d11ec8923be5fcc18253d8b27d4284817a0422aa 0" [stage-24] Reading RDB file... -[stage-24] replica: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xedG>f\xfa\bused-mem\xc2@S\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(1227420da59b3d0469c84bea9f1ea996ba2002b3\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xe9\x04\xdf{\x1e\x1dg)" +[stage-24] replica: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xdeJFf\xfa\bused-mem\xc2\xf0R\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(d11ec8923be5fcc18253d8b27d4284817a0422aa\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff.\xa1TZ_\xfa\xf6\x1b" [stage-24] Received RDB file [stage-24] client: $ redis-cli SET foo 123 [stage-24] client: Sent bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" @@ -774,7 +774,7 @@ Debug = true [stage-24] Terminating program [stage-24] Program terminated successfully -[stage-23] Running tests for Stage #23: repl-master-psync-rdb +[stage-23] Running tests for Stage #23: cf8 [stage-23] $ ./spawn_redis_server.sh --port 6379 [stage-23] client: $ redis-cli PING [stage-23] client: Sent bytes: "*1\r\n$4\r\nPING\r\n" @@ -793,17 +793,17 @@ Debug = true [stage-23] Received "OK" [stage-23] client: $ redis-cli PSYNC ? -1 [stage-23] client: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-23] client: Received bytes: "+FULLRESYNC 0e2ea0806b83e800d32b9cf47c0e319d3e2d69f1 0\r\n" -[stage-23] client: Received RESP value: "FULLRESYNC 0e2ea0806b83e800d32b9cf47c0e319d3e2d69f1 0" -[stage-23] Received "FULLRESYNC 0e2ea0806b83e800d32b9cf47c0e319d3e2d69f1 0" +[stage-23] client: Received bytes: "+FULLRESYNC 3fc5259c7add3c5f746af56d76a8540caf57218f 0\r\n" +[stage-23] client: Received RESP value: "FULLRESYNC 3fc5259c7add3c5f746af56d76a8540caf57218f 0" +[stage-23] Received "FULLRESYNC 3fc5259c7add3c5f746af56d76a8540caf57218f 0" [stage-23] Reading RDB file... -[stage-23] client: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xedG>f\xfa\bused-mem\xc20\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(0e2ea0806b83e800d32b9cf47c0e319d3e2d69f1\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x12\xfbh)5ޛ\x1b" +[stage-23] client: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xdeJFf\xfa\bused-mem\xc2\xe0\r\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(3fc5259c7add3c5f746af56d76a8540caf57218f\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\"\x1f\n0\x16\xeaIu" [stage-23] Received RDB file [stage-23] Test passed. [stage-23] Terminating program [stage-23] Program terminated successfully -[stage-22] Running tests for Stage #22: repl-master-psync +[stage-22] Running tests for Stage #22: vm3 [stage-22] $ ./spawn_redis_server.sh --port 6379 [stage-22] client: $ redis-cli PING [stage-22] client: Sent bytes: "*1\r\n$4\r\nPING\r\n" @@ -822,14 +822,14 @@ Debug = true [stage-22] Received "OK" [stage-22] client: $ redis-cli PSYNC ? -1 [stage-22] client: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-22] client: Received bytes: "+FULLRESYNC deea264341bb6a3087235bad95d4488f97723f3a 0\r\n" -[stage-22] client: Received RESP value: "FULLRESYNC deea264341bb6a3087235bad95d4488f97723f3a 0" -[stage-22] Received "FULLRESYNC deea264341bb6a3087235bad95d4488f97723f3a 0" +[stage-22] client: Received bytes: "+FULLRESYNC 145d267eb677cb1397691f681556ef32969d434d 0\r\n" +[stage-22] client: Received RESP value: "FULLRESYNC 145d267eb677cb1397691f681556ef32969d434d 0" +[stage-22] Received "FULLRESYNC 145d267eb677cb1397691f681556ef32969d434d 0" [stage-22] Test passed. [stage-22] Terminating program [stage-22] Program terminated successfully -[stage-21] Running tests for Stage #21: repl-master-replconf +[stage-21] Running tests for Stage #21: fj0 [stage-21] $ ./spawn_redis_server.sh --port 6379 [stage-21] client: $ redis-cli PING [stage-21] client: Sent bytes: "*1\r\n$4\r\nPING\r\n" @@ -850,7 +850,7 @@ Debug = true [stage-21] Terminating program [stage-21] Program terminated successfully -[stage-20] Running tests for Stage #20: repl-replica-psync +[stage-20] Running tests for Stage #20: ju6 [stage-20] Master is running on port 6379 [stage-20] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" [stage-20] master: Waiting for replica to initiate handshake with "PING" command @@ -881,7 +881,7 @@ Debug = true [stage-20] Terminating program [stage-20] Program terminated successfully -[stage-19] Running tests for Stage #19: repl-replica-replconf +[stage-19] Running tests for Stage #19: eh4 [stage-19] Master is running on port 6379 [stage-19] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" [stage-19] master: Waiting for replica to initiate handshake with "PING" command @@ -906,7 +906,7 @@ Debug = true [stage-19] Terminating program [stage-19] Program terminated successfully -[stage-18] Running tests for Stage #18: repl-replica-ping +[stage-18] Running tests for Stage #18: gl7 [stage-18] Master is running on port 6379. [stage-18] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" [stage-18] master: Waiting for replica to initiate handshake with "PING" command @@ -919,20 +919,20 @@ Debug = true [stage-18] Terminating program [stage-18] Program terminated successfully -[stage-17] Running tests for Stage #17: repl-id +[stage-17] Running tests for Stage #17: xc1 [stage-17] $ ./spawn_redis_server.sh [stage-17] client: $ redis-cli INFO replication [stage-17] client: Sent bytes: "*2\r\n$4\r\nINFO\r\n$11\r\nreplication\r\n" -[stage-17] client: Received bytes: "$349\r\n# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:1816f0bdd8e48a596542a34856f7974a6e075139\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n\r\n" -[stage-17] client: Received RESP value: "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:1816f0bdd8e48a596542a34856f7974a6e075139\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" -[stage-17] Received "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:1816f0bdd8e48a596542a34856f7974a6e075139\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" +[stage-17] client: Received bytes: "$349\r\n# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:99dd472d09418760259f1ce34a38334c5c2c0f41\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n\r\n" +[stage-17] client: Received RESP value: "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:99dd472d09418760259f1ce34a38334c5c2c0f41\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" +[stage-17] Received "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:99dd472d09418760259f1ce34a38334c5c2c0f41\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" [stage-17] Found master_replid:xxx in response. [stage-17] Found master_reploffset:0 in response. [stage-17] Test passed. [stage-17] Terminating program [stage-17] Program terminated successfully -[stage-16] Running tests for Stage #16: repl-info-replica +[stage-16] Running tests for Stage #16: hc6 [stage-16] Master is running on port 6379 [stage-16] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" [stage-16] master: Received bytes: "*1\r\n$4\r\nPING\r\n" @@ -962,19 +962,19 @@ Debug = true [stage-16] Terminating program [stage-16] Program terminated successfully -[stage-15] Running tests for Stage #15: repl-info +[stage-15] Running tests for Stage #15: ye5 [stage-15] $ ./spawn_redis_server.sh [stage-15] client: $ redis-cli INFO replication [stage-15] client: Sent bytes: "*2\r\n$4\r\nINFO\r\n$11\r\nreplication\r\n" -[stage-15] client: Received bytes: "$349\r\n# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:9109cc3b41587024f9bdc7461eb8c90746e97421\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n\r\n" -[stage-15] client: Received RESP value: "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:9109cc3b41587024f9bdc7461eb8c90746e97421\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" -[stage-15] Received "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:9109cc3b41587024f9bdc7461eb8c90746e97421\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" +[stage-15] client: Received bytes: "$349\r\n# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:c488fdf4c7c21440e2db6bc2077391e3b95954bf\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n\r\n" +[stage-15] client: Received RESP value: "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:c488fdf4c7c21440e2db6bc2077391e3b95954bf\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" +[stage-15] Received "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:c488fdf4c7c21440e2db6bc2077391e3b95954bf\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" [stage-15] Found role:master in response. [stage-15] Test passed. [stage-15] Terminating program [stage-15] Program terminated successfully -[stage-14] Running tests for Stage #14: repl-custom-port +[stage-14] Running tests for Stage #14: bw1 [stage-14] $ ./spawn_redis_server.sh --port 6382 [stage-14] Connecting to port 6382... [stage-14] Connection successful @@ -982,8 +982,8 @@ Debug = true [stage-14] Terminating program [stage-14] Program terminated successfully -[stage-13] Running tests for Stage #13: rdb-read-value-with-expiry -[stage-13] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles2414152642 --dbfilename pear.rdb +[stage-13] Running tests for Stage #13: sm4 +[stage-13] $ ./spawn_redis_server.sh --dir /private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles4208045479 --dbfilename pear.rdb [stage-13] client: $ redis-cli GET blueberry [stage-13] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$9\r\nblueberry\r\n" [stage-13] client: Received bytes: "$9\r\nblueberry\r\n" @@ -1003,9 +1003,9 @@ Debug = true [stage-13] Terminating program [stage-13] Program terminated successfully -[stage-12] Running tests for Stage #12: rdb-read-multiple-string-values +[stage-12] Running tests for Stage #12: dq3 [stage-12] Created RDB file with key-value pairs: "grape"="mango", "orange"="banana", "blueberry"="orange", "pear"="grape", "banana"="blueberry" -[stage-12] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles902309970 --dbfilename mango.rdb +[stage-12] $ ./spawn_redis_server.sh --dir /private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles1148445097 --dbfilename mango.rdb [stage-12] client: $ redis-cli GET grape [stage-12] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$5\r\ngrape\r\n" [stage-12] client: Received bytes: "$5\r\nmango\r\n" @@ -1035,21 +1035,21 @@ Debug = true [stage-12] Terminating program [stage-12] Program terminated successfully -[stage-11] Running tests for Stage #11: rdb-read-multiple-keys +[stage-11] Running tests for Stage #11: jw4 [stage-11] Created RDB file with 4 keys: ["raspberry" "blueberry" "apple" "orange"] -[stage-11] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles4069510286 --dbfilename grape.rdb +[stage-11] $ ./spawn_redis_server.sh --dir /private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles3566471288 --dbfilename grape.rdb [stage-11] client: $ redis-cli KEYS * [stage-11] client: Sent bytes: "*2\r\n$4\r\nKEYS\r\n$1\r\n*\r\n" -[stage-11] client: Received bytes: "*4\r\n$6\r\norange\r\n$9\r\nraspberry\r\n$5\r\napple\r\n$9\r\nblueberry\r\n" -[stage-11] client: Received RESP value: ["orange", "raspberry", "apple", "blueberry"] -[stage-11] Received ["orange", "raspberry", "apple", "blueberry"] +[stage-11] client: Received bytes: "*4\r\n$6\r\norange\r\n$9\r\nblueberry\r\n$5\r\napple\r\n$9\r\nraspberry\r\n" +[stage-11] client: Received RESP value: ["orange", "blueberry", "apple", "raspberry"] +[stage-11] Received ["orange", "blueberry", "apple", "raspberry"] [stage-11] Test passed. [stage-11] Terminating program [stage-11] Program terminated successfully -[stage-10] Running tests for Stage #10: rdb-read-string-value +[stage-10] Running tests for Stage #10: gc6 [stage-10] Created RDB file with single key-value pair: blueberry="raspberry" -[stage-10] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles4230954736 --dbfilename strawberry.rdb +[stage-10] $ ./spawn_redis_server.sh --dir /private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles595504062 --dbfilename strawberry.rdb [stage-10] client: $ redis-cli GET blueberry [stage-10] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$9\r\nblueberry\r\n" [stage-10] client: Received bytes: "$9\r\nraspberry\r\n" @@ -1059,9 +1059,9 @@ Debug = true [stage-10] Terminating program [stage-10] Program terminated successfully -[stage-9] Running tests for Stage #9: rdb-read-key +[stage-9] Running tests for Stage #9: jz6 [stage-9] Created RDB file with single key: "grape" -[stage-9] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles2939135434 --dbfilename orange.rdb +[stage-9] $ ./spawn_redis_server.sh --dir /private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles3265634486 --dbfilename orange.rdb [stage-9] client: $ redis-cli KEYS * [stage-9] client: Sent bytes: "*2\r\n$4\r\nKEYS\r\n$1\r\n*\r\n" [stage-9] client: Received bytes: "*1\r\n$5\r\ngrape\r\n" @@ -1071,33 +1071,33 @@ Debug = true [stage-9] Terminating program [stage-9] Program terminated successfully -[stage-8] Running tests for Stage #8: rdb-config -[stage-8] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles807335325 --dbfilename raspberry.rdb +[stage-8] Running tests for Stage #8: zg5 +[stage-8] $ ./spawn_redis_server.sh --dir /private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles686042821 --dbfilename raspberry.rdb [stage-8] client: $ redis-cli CONFIG GET dir [stage-8] client: Sent bytes: "*3\r\n$6\r\nCONFIG\r\n$3\r\nGET\r\n$3\r\ndir\r\n" -[stage-8] client: Received bytes: "*2\r\n$3\r\ndir\r\n$74\r\n/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles807335325\r\n" -[stage-8] client: Received RESP value: ["dir", "/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles807335325"] -[stage-8] Received ["dir", "/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles807335325"] +[stage-8] client: Received bytes: "*2\r\n$3\r\ndir\r\n$74\r\n/private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles686042821\r\n" +[stage-8] client: Received RESP value: ["dir", "/private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles686042821"] +[stage-8] Received ["dir", "/private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles686042821"] [stage-8] Test passed. [stage-8] Terminating program [stage-8] Program terminated successfully -[stage-7] Running tests for Stage #7: expiry +[stage-7] Running tests for Stage #7: yz1 [stage-7] $ ./spawn_redis_server.sh [stage-7] $ redis-cli SET mango orange px 100 [stage-7] Sent bytes: "*5\r\n$3\r\nSET\r\n$5\r\nmango\r\n$6\r\norange\r\n$2\r\npx\r\n$3\r\n100\r\n" [stage-7] Received bytes: "+OK\r\n" [stage-7] Received RESP value: "OK" [stage-7] Received "OK" -[stage-7] Received OK at 21:44:40.684 -[stage-7] Fetching key "mango" at 21:44:40.684 (should not be expired) +[stage-7] Received OK at 02:05:21.241 +[stage-7] Fetching key "mango" at 02:05:21.241 (should not be expired) [stage-7] $ redis-cli GET mango [stage-7] Sent bytes: "*2\r\n$3\r\nGET\r\n$5\r\nmango\r\n" [stage-7] Received bytes: "$6\r\norange\r\n" [stage-7] Received RESP value: "orange" [stage-7] Received "orange" [stage-7] Sleeping for 101ms -[stage-7] Fetching key "mango" at 21:44:40.787 (should be expired) +[stage-7] Fetching key "mango" at 02:05:21.344 (should be expired) [stage-7] $ redis-cli GET mango [stage-7] Sent bytes: "*2\r\n$3\r\nGET\r\n$5\r\nmango\r\n" [stage-7] Received bytes: "$-1\r\n" @@ -1107,7 +1107,7 @@ Debug = true [stage-7] Terminating program [stage-7] Program terminated successfully -[stage-6] Running tests for Stage #6: set_get +[stage-6] Running tests for Stage #6: la7 [stage-6] $ ./spawn_redis_server.sh [stage-6] Setting key banana to raspberry [stage-6] $ redis-cli SET banana raspberry @@ -1125,7 +1125,7 @@ Debug = true [stage-6] Terminating program [stage-6] Program terminated successfully -[stage-5] Running tests for Stage #5: echo +[stage-5] Running tests for Stage #5: qq0 [stage-5] $ ./spawn_redis_server.sh [stage-5] $ redis-cli ECHO pear [stage-5] Sent bytes: "*2\r\n$4\r\nECHO\r\n$4\r\npear\r\n" @@ -1136,7 +1136,7 @@ Debug = true [stage-5] Terminating program [stage-5] Program terminated successfully -[stage-4] Running tests for Stage #4: concurrent-clients +[stage-4] Running tests for Stage #4: zu2 [stage-4] $ ./spawn_redis_server.sh [stage-4] client-1: $ redis-cli PING [stage-4] client-1: Sent bytes: "*1\r\n$4\r\nPING\r\n" @@ -1175,7 +1175,7 @@ Debug = true [stage-4] Terminating program [stage-4] Program terminated successfully -[stage-3] Running tests for Stage #3: ping-pong-multiple +[stage-3] Running tests for Stage #3: wy1 [stage-3] $ ./spawn_redis_server.sh [stage-3] client-1: $ redis-cli PING [stage-3] client-1: Sent bytes: "*1\r\n$4\r\nPING\r\n" @@ -1197,7 +1197,7 @@ Debug = true [stage-3] Terminating program [stage-3] Program terminated successfully -[stage-2] Running tests for Stage #2: ping-pong +[stage-2] Running tests for Stage #2: rg2 [stage-2] $ ./spawn_redis_server.sh [stage-2] Connection established, sending ping command... [stage-2] $ redis-cli PING @@ -1209,7 +1209,7 @@ Debug = true [stage-2] Terminating program [stage-2] Program terminated successfully -[stage-1] Running tests for Stage #1: init +[stage-1] Running tests for Stage #1: jm1 [stage-1] $ ./spawn_redis_server.sh [stage-1] Connecting to port 6379... [stage-1] Connection successful diff --git a/internal/test_helpers/fixtures/streams/pass b/internal/test_helpers/fixtures/streams/pass index 1da8456e..ef95a1d9 100644 --- a/internal/test_helpers/fixtures/streams/pass +++ b/internal/test_helpers/fixtures/streams/pass @@ -1,6 +1,6 @@ Debug = true -[stage-44] Running tests for Stage #44: streams-xread-block-max-id +[stage-44] Running tests for Stage #44: xu1 [stage-44] $ ./spawn_redis_server.sh [stage-44] $ redis-cli xadd "pear" "0-1" "temperature 70" [stage-44] Received response: ""0-1"" @@ -24,7 +24,7 @@ Debug = true [stage-44] Terminating program [stage-44] Program terminated successfully -[stage-43] Running tests for Stage #43: streams-xread-block-no-timeout +[stage-43] Running tests for Stage #43: hw1 [stage-43] $ ./spawn_redis_server.sh [stage-43] $ redis-cli xadd "raspberry" "0-1" "temperature 74" [stage-43] Received response: ""0-1"" @@ -48,7 +48,7 @@ Debug = true [stage-43] Terminating program [stage-43] Program terminated successfully -[stage-42] Running tests for Stage #42: streams-xread-block +[stage-42] Running tests for Stage #42: bs1 [stage-42] $ ./spawn_redis_server.sh [stage-42] $ redis-cli xadd "pear" "0-1" "temperature 30" [stage-42] Received response: ""0-1"" @@ -74,7 +74,7 @@ Debug = true [stage-42] Terminating program [stage-42] Program terminated successfully -[stage-41] Running tests for Stage #41: streams-xread-multiple +[stage-41] Running tests for Stage #41: ru9 [stage-41] $ ./spawn_redis_server.sh [stage-41] $ redis-cli xadd "blueberry" "0-1" "temperature 24" [stage-41] Received response: ""0-1"" @@ -109,7 +109,7 @@ Debug = true [stage-41] Terminating program [stage-41] Program terminated successfully -[stage-40] Running tests for Stage #40: streams-xread +[stage-40] Running tests for Stage #40: um0 [stage-40] $ ./spawn_redis_server.sh [stage-40] $ redis-cli xadd "grape" "0-1" "temperature 54" [stage-40] Received response: ""0-1"" @@ -131,7 +131,7 @@ Debug = true [stage-40] Terminating program [stage-40] Program terminated successfully -[stage-39] Running tests for Stage #39: streams-xrange-max-id +[stage-39] Running tests for Stage #39: fs1 [stage-39] $ ./spawn_redis_server.sh [stage-39] $ redis-cli xadd "apple" "0-1" "foo bar" [stage-39] Received response: ""0-1"" @@ -158,7 +158,7 @@ Debug = true [stage-39] Terminating program [stage-39] Program terminated successfully -[stage-38] Running tests for Stage #38: streams-xrange-min-id +[stage-38] Running tests for Stage #38: yp1 [stage-38] $ ./spawn_redis_server.sh [stage-38] $ redis-cli xadd "banana" "0-1" "foo bar" [stage-38] Received response: ""0-1"" @@ -185,7 +185,7 @@ Debug = true [stage-38] Terminating program [stage-38] Program terminated successfully -[stage-37] Running tests for Stage #37: streams-xrange +[stage-37] Running tests for Stage #37: zx1 [stage-37] $ ./spawn_redis_server.sh [stage-37] $ redis-cli xadd "grape" "0-1" "foo bar" [stage-37] Received response: ""0-1"" @@ -212,17 +212,17 @@ Debug = true [stage-37] Terminating program [stage-37] Program terminated successfully -[stage-36] Running tests for Stage #36: streams-xadd-full-autoid +[stage-36] Running tests for Stage #36: xu6 [stage-36] $ ./spawn_redis_server.sh [stage-36] $ redis-cli xadd "mango" * foo bar -[stage-36] Received response: ""1715357709920-0"" +[stage-36] Received response: ""1715882727662-0"" [stage-36] The first part of the ID is a valid unix milliseconds timestamp [stage-36] The second part of the ID is a valid sequence number [stage-36] Test passed. [stage-36] Terminating program [stage-36] Program terminated successfully -[stage-35] Running tests for Stage #35: streams-xadd-partial-autoid +[stage-35] Running tests for Stage #35: yh3 [stage-35] $ ./spawn_redis_server.sh [stage-35] $ redis-cli xadd "apple" "0-*" "foo bar" [stage-35] Received response: ""0-1"" @@ -234,7 +234,7 @@ Debug = true [stage-35] Terminating program [stage-35] Program terminated successfully -[stage-34] Running tests for Stage #34: streams-xadd-validate-id +[stage-34] Running tests for Stage #34: hq8 [stage-34] $ ./spawn_redis_server.sh [stage-34] $ redis-cli xadd "pear" "1-1" "foo bar" [stage-34] Received response: ""1-1"" @@ -250,7 +250,7 @@ Debug = true [stage-34] Terminating program [stage-34] Program terminated successfully -[stage-33] Running tests for Stage #33: streams-xadd +[stage-33] Running tests for Stage #33: cf6 [stage-33] $ ./spawn_redis_server.sh [stage-33] $ redis-cli xadd "banana" "0-1" "foo bar" [stage-33] Received response: ""0-1"" @@ -260,7 +260,7 @@ Debug = true [stage-33] Terminating program [stage-33] Program terminated successfully -[stage-32] Running tests for Stage #32: streams-type +[stage-32] Running tests for Stage #32: cc3 [stage-32] $ ./spawn_redis_server.sh [stage-32] $ redis-cli set "pineapple" "raspberry" [stage-32] Received response: ""OK"" @@ -272,7 +272,7 @@ Debug = true [stage-32] Terminating program [stage-32] Program terminated successfully -[stage-31] Running tests for Stage #31: repl-wait +[stage-31] Running tests for Stage #31: na2 [stage-31] $ ./spawn_redis_server.sh --port 6379 [stage-31] Proceeding to create 3 replicas. [stage-31] Creating replica: 1 @@ -293,11 +293,11 @@ Debug = true [stage-31] Received "OK" [stage-31] replica-1: $ redis-cli PSYNC ? -1 [stage-31] replica-1: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-31] replica-1: Received bytes: "+FULLRESYNC 11056bcfc27364d9b3d58eab15f912f041cb6ed6 0\r\n" -[stage-31] replica-1: Received RESP value: "FULLRESYNC 11056bcfc27364d9b3d58eab15f912f041cb6ed6 0" -[stage-31] Received "FULLRESYNC 11056bcfc27364d9b3d58eab15f912f041cb6ed6 0" +[stage-31] replica-1: Received bytes: "+FULLRESYNC e5bb07fc8d0596e0ef4574b0fb6dce55d2f1d3a9 0\r\n" +[stage-31] replica-1: Received RESP value: "FULLRESYNC e5bb07fc8d0596e0ef4574b0fb6dce55d2f1d3a9 0" +[stage-31] Received "FULLRESYNC e5bb07fc8d0596e0ef4574b0fb6dce55d2f1d3a9 0" [stage-31] Reading RDB file... -[stage-31] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\x0eH>f\xfa\bused-mem\xc2\xf0\r\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(11056bcfc27364d9b3d58eab15f912f041cb6ed6\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x12\xb2\xd8z\xc1\xbe\xe5?" +[stage-31] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xe8JFf\xfa\bused-mem\xc2\x00\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(e5bb07fc8d0596e0ef4574b0fb6dce55d2f1d3a9\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff20U{\xe2\xa35s" [stage-31] Received RDB file [stage-31] Creating replica: 2 [stage-31] replica-2: $ redis-cli PING @@ -317,11 +317,11 @@ Debug = true [stage-31] Received "OK" [stage-31] replica-2: $ redis-cli PSYNC ? -1 [stage-31] replica-2: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-31] replica-2: Received bytes: "+FULLRESYNC 11056bcfc27364d9b3d58eab15f912f041cb6ed6 0\r\n" -[stage-31] replica-2: Received RESP value: "FULLRESYNC 11056bcfc27364d9b3d58eab15f912f041cb6ed6 0" -[stage-31] Received "FULLRESYNC 11056bcfc27364d9b3d58eab15f912f041cb6ed6 0" +[stage-31] replica-2: Received bytes: "+FULLRESYNC e5bb07fc8d0596e0ef4574b0fb6dce55d2f1d3a9 0\r\n" +[stage-31] replica-2: Received RESP value: "FULLRESYNC e5bb07fc8d0596e0ef4574b0fb6dce55d2f1d3a9 0" +[stage-31] Received "FULLRESYNC e5bb07fc8d0596e0ef4574b0fb6dce55d2f1d3a9 0" [stage-31] Reading RDB file... -[stage-31] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\x0eH>f\xfa\bused-mem\u0080\xf5\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(11056bcfc27364d9b3d58eab15f912f041cb6ed6\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff \x18\xa3\f\x90U^\x02" +[stage-31] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xe8JFf\xfa\bused-mem\u0090\xf5\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(e5bb07fc8d0596e0ef4574b0fb6dce55d2f1d3a9\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\b\xb0j\x00K\xa3\x1c\\" [stage-31] Received RDB file [stage-31] Creating replica: 3 [stage-31] replica-3: $ redis-cli PING @@ -341,11 +341,11 @@ Debug = true [stage-31] Received "OK" [stage-31] replica-3: $ redis-cli PSYNC ? -1 [stage-31] replica-3: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-31] replica-3: Received bytes: "+FULLRESYNC 11056bcfc27364d9b3d58eab15f912f041cb6ed6 0\r\n" -[stage-31] replica-3: Received RESP value: "FULLRESYNC 11056bcfc27364d9b3d58eab15f912f041cb6ed6 0" -[stage-31] Received "FULLRESYNC 11056bcfc27364d9b3d58eab15f912f041cb6ed6 0" +[stage-31] replica-3: Received bytes: "+FULLRESYNC e5bb07fc8d0596e0ef4574b0fb6dce55d2f1d3a9 0\r\n" +[stage-31] replica-3: Received RESP value: "FULLRESYNC e5bb07fc8d0596e0ef4574b0fb6dce55d2f1d3a9 0" +[stage-31] Received "FULLRESYNC e5bb07fc8d0596e0ef4574b0fb6dce55d2f1d3a9 0" [stage-31] Reading RDB file... -[stage-31] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\x0eH>f\xfa\bused-mem\u0080@\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(11056bcfc27364d9b3d58eab15f912f041cb6ed6\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x18?;Dy\x9a\xc9," +[stage-31] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xe8JFf\xfa\bused-mem\u0090@\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(e5bb07fc8d0596e0ef4574b0fb6dce55d2f1d3a9\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff0\x97\xf2H\xa2l\x8br" [stage-31] Received RDB file [stage-31] client: $ redis-cli SET foo 123 [stage-31] client: Sent bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" @@ -438,12 +438,12 @@ Debug = true [stage-31] replica-3: Not sending ACK to Master [stage-31] client: Received bytes: ":2\r\n" [stage-31] client: Received RESP value: 2 -[stage-31] WAIT command returned after 2109 ms +[stage-31] WAIT command returned after 2102 ms [stage-31] Test passed. [stage-31] Terminating program [stage-31] Program terminated successfully -[stage-30] Running tests for Stage #30: repl-wait-zero-offset +[stage-30] Running tests for Stage #30: tu8 [stage-30] $ ./spawn_redis_server.sh --port 6379 [stage-30] Proceeding to create 3 replicas. [stage-30] Creating replica: 1 @@ -464,11 +464,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-1: $ redis-cli PSYNC ? -1 [stage-30] replica-1: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-30] replica-1: Received bytes: "+FULLRESYNC 950a7b1619b365c1b82aa2a0667ef230024d04d4 0\r\n" -[stage-30] replica-1: Received RESP value: "FULLRESYNC 950a7b1619b365c1b82aa2a0667ef230024d04d4 0" -[stage-30] Received "FULLRESYNC 950a7b1619b365c1b82aa2a0667ef230024d04d4 0" +[stage-30] replica-1: Received bytes: "+FULLRESYNC c5efc42dd23d1f94961f89c21a918a37810e9173 0\r\n" +[stage-30] replica-1: Received RESP value: "FULLRESYNC c5efc42dd23d1f94961f89c21a918a37810e9173 0" +[stage-30] Received "FULLRESYNC c5efc42dd23d1f94961f89c21a918a37810e9173 0" [stage-30] Reading RDB file... -[stage-30] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\x11H>f\xfa\bused-mem\xc20\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(950a7b1619b365c1b82aa2a0667ef230024d04d4\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffe+\xb5\xf2#\xad\xf6@" +[stage-30] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xeaJFf\xfa\bused-mem\xc2@\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(c5efc42dd23d1f94961f89c21a918a37810e9173\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x9f\x18\x8d \xe0 8\x03" [stage-30] Received RDB file [stage-30] Creating replica: 2 [stage-30] replica-2: $ redis-cli PING @@ -488,11 +488,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-2: $ redis-cli PSYNC ? -1 [stage-30] replica-2: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-30] replica-2: Received bytes: "+FULLRESYNC 950a7b1619b365c1b82aa2a0667ef230024d04d4 0\r\n" -[stage-30] replica-2: Received RESP value: "FULLRESYNC 950a7b1619b365c1b82aa2a0667ef230024d04d4 0" -[stage-30] Received "FULLRESYNC 950a7b1619b365c1b82aa2a0667ef230024d04d4 0" +[stage-30] replica-2: Received bytes: "+FULLRESYNC c5efc42dd23d1f94961f89c21a918a37810e9173 0\r\n" +[stage-30] replica-2: Received RESP value: "FULLRESYNC c5efc42dd23d1f94961f89c21a918a37810e9173 0" +[stage-30] Received "FULLRESYNC c5efc42dd23d1f94961f89c21a918a37810e9173 0" [stage-30] Reading RDB file... -[stage-30] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\x11H>f\xfa\bused-mem\xc2\xc0\xf5\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(950a7b1619b365c1b82aa2a0667ef230024d04d4\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xcc>\"\xf5\xdb\x008\xf5" +[stage-30] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xeaJFf\xfa\bused-mem\xc2\xd0\xf5\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(c5efc42dd23d1f94961f89c21a918a37810e9173\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xa5\x98\xb2[I \x11," [stage-30] Received RDB file [stage-30] Creating replica: 3 [stage-30] replica-3: $ redis-cli PING @@ -512,11 +512,11 @@ Debug = true [stage-30] Received "OK" [stage-30] replica-3: $ redis-cli PSYNC ? -1 [stage-30] replica-3: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-30] replica-3: Received bytes: "+FULLRESYNC 950a7b1619b365c1b82aa2a0667ef230024d04d4 0\r\n" -[stage-30] replica-3: Received RESP value: "FULLRESYNC 950a7b1619b365c1b82aa2a0667ef230024d04d4 0" -[stage-30] Received "FULLRESYNC 950a7b1619b365c1b82aa2a0667ef230024d04d4 0" +[stage-30] replica-3: Received bytes: "+FULLRESYNC c5efc42dd23d1f94961f89c21a918a37810e9173 0\r\n" +[stage-30] replica-3: Received RESP value: "FULLRESYNC c5efc42dd23d1f94961f89c21a918a37810e9173 0" +[stage-30] Received "FULLRESYNC c5efc42dd23d1f94961f89c21a918a37810e9173 0" [stage-30] Reading RDB file... -[stage-30] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\x11H>f\xfa\bused-mem\xc2\xc0@\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(950a7b1619b365c1b82aa2a0667ef230024d04d4\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xf4\x19\xba\xbd2ϯ\xdb" +[stage-30] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xeaJFf\xfa\bused-mem\xc2\xd0@\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(c5efc42dd23d1f94961f89c21a918a37810e9173\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x9d\xbf*\x13\xa0\xef\x86\x02" [stage-30] Received RDB file [stage-30] client: $ redis-cli WAIT 3 500 [stage-30] client: Sent bytes: "*3\r\n$4\r\nWAIT\r\n$1\r\n3\r\n$3\r\n500\r\n" @@ -537,7 +537,7 @@ Debug = true [stage-30] Terminating program [stage-30] Program terminated successfully -[stage-29] Running tests for Stage #29: repl-wait-zero-replicas +[stage-29] Running tests for Stage #29: my8 [stage-29] $ ./spawn_redis_server.sh --port 6379 [stage-29] client: $ redis-cli WAIT 0 60000 [stage-29] client: Sent bytes: "*3\r\n$4\r\nWAIT\r\n$1\r\n0\r\n$5\r\n60000\r\n" @@ -548,7 +548,7 @@ Debug = true [stage-29] Terminating program [stage-29] Program terminated successfully -[stage-28] Running tests for Stage #28: repl-replica-getack-nonzero +[stage-28] Running tests for Stage #28: yd3 [stage-28] Master is running on port 6379 [stage-28] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" [stage-28] master: Waiting for replica to initiate handshake with "PING" command @@ -603,7 +603,7 @@ Debug = true [stage-28] Terminating program [stage-28] Program terminated successfully -[stage-27] Running tests for Stage #27: repl-replica-getack +[stage-27] Running tests for Stage #27: xv6 [stage-27] Master is running on port 6379 [stage-27] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" [stage-27] master: Waiting for replica to initiate handshake with "PING" command @@ -642,7 +642,7 @@ Debug = true [stage-27] Terminating program [stage-27] Program terminated successfully -[stage-26] Running tests for Stage #26: repl-cmd-processing +[stage-26] Running tests for Stage #26: yg4 [stage-26] Master is running on port 6379 [stage-26] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" [stage-26] master: Waiting for replica to initiate handshake with "PING" command @@ -700,7 +700,7 @@ Debug = true [stage-26] Terminating program [stage-26] Program terminated successfully -[stage-25] Running tests for Stage #25: repl-multiple-replicas +[stage-25] Running tests for Stage #25: hd5 [stage-25] $ ./spawn_redis_server.sh --port 6379 [stage-25] Creating replica: 1 [stage-25] replica-1: $ redis-cli PING @@ -720,11 +720,11 @@ Debug = true [stage-25] Received "OK" [stage-25] replica-1: $ redis-cli PSYNC ? -1 [stage-25] replica-1: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-25] replica-1: Received bytes: "+FULLRESYNC bd1d01cbfc7489ee5f189495d5313379d448267d 0\r\n" -[stage-25] replica-1: Received RESP value: "FULLRESYNC bd1d01cbfc7489ee5f189495d5313379d448267d 0" -[stage-25] Received "FULLRESYNC bd1d01cbfc7489ee5f189495d5313379d448267d 0" +[stage-25] replica-1: Received bytes: "+FULLRESYNC 22856a88cec81d46d5830771cac46f7135577770 0\r\n" +[stage-25] replica-1: Received RESP value: "FULLRESYNC 22856a88cec81d46d5830771cac46f7135577770 0" +[stage-25] Received "FULLRESYNC 22856a88cec81d46d5830771cac46f7135577770 0" [stage-25] Reading RDB file... -[stage-25] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\x13H>f\xfa\bused-mem\xc2`S\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(bd1d01cbfc7489ee5f189495d5313379d448267d\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xd4\x06\x10gex\xffB" +[stage-25] replica-1: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xecJFf\xfa\bused-mem\xc2\x10S\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(22856a88cec81d46d5830771cac46f7135577770\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\x8cdK\x83\xe4v#Y" [stage-25] Received RDB file [stage-25] Creating replica: 2 [stage-25] replica-2: $ redis-cli PING @@ -744,11 +744,11 @@ Debug = true [stage-25] Received "OK" [stage-25] replica-2: $ redis-cli PSYNC ? -1 [stage-25] replica-2: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-25] replica-2: Received bytes: "+FULLRESYNC bd1d01cbfc7489ee5f189495d5313379d448267d 0\r\n" -[stage-25] replica-2: Received RESP value: "FULLRESYNC bd1d01cbfc7489ee5f189495d5313379d448267d 0" -[stage-25] Received "FULLRESYNC bd1d01cbfc7489ee5f189495d5313379d448267d 0" +[stage-25] replica-2: Received bytes: "+FULLRESYNC 22856a88cec81d46d5830771cac46f7135577770 0\r\n" +[stage-25] replica-2: Received RESP value: "FULLRESYNC 22856a88cec81d46d5830771cac46f7135577770 0" +[stage-25] Received "FULLRESYNC 22856a88cec81d46d5830771cac46f7135577770 0" [stage-25] Reading RDB file... -[stage-25] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\x13H>f\xfa\bused-mem\xc2\xd0:\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(bd1d01cbfc7489ee5f189495d5313379d448267d\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffds\xee\x97t\xf2OW" +[stage-25] replica-2: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xecJFf\xfa\bused-mem\u0080:\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(22856a88cec81d46d5830771cac46f7135577770\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffMb-X:\x98\xce:" [stage-25] Received RDB file [stage-25] Creating replica: 3 [stage-25] replica-3: $ redis-cli PING @@ -768,11 +768,11 @@ Debug = true [stage-25] Received "OK" [stage-25] replica-3: $ redis-cli PSYNC ? -1 [stage-25] replica-3: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-25] replica-3: Received bytes: "+FULLRESYNC bd1d01cbfc7489ee5f189495d5313379d448267d 0\r\n" -[stage-25] replica-3: Received RESP value: "FULLRESYNC bd1d01cbfc7489ee5f189495d5313379d448267d 0" -[stage-25] Received "FULLRESYNC bd1d01cbfc7489ee5f189495d5313379d448267d 0" +[stage-25] replica-3: Received bytes: "+FULLRESYNC 22856a88cec81d46d5830771cac46f7135577770 0\r\n" +[stage-25] replica-3: Received RESP value: "FULLRESYNC 22856a88cec81d46d5830771cac46f7135577770 0" +[stage-25] Received "FULLRESYNC 22856a88cec81d46d5830771cac46f7135577770 0" [stage-25] Reading RDB file... -[stage-25] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\x13H>f\xfa\bused-mem\xc2\xe0I\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(bd1d01cbfc7489ee5f189495d5313379d448267d\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffAa\xbd_ݞ\x183" +[stage-25] replica-3: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xedJFf\xfa\bused-mem\u0090I\x13\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(22856a88cec81d46d5830771cac46f7135577770\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xec\xf6\xbeߧ!\x92\xf6" [stage-25] Received RDB file [stage-25] client: $ redis-cli SET foo 123 [stage-25] client: Sent bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" @@ -838,7 +838,7 @@ Debug = true [stage-25] Terminating program [stage-25] Program terminated successfully -[stage-24] Running tests for Stage #24: repl-master-cmd-prop +[stage-24] Running tests for Stage #24: zn8 [stage-24] $ ./spawn_redis_server.sh --port 6379 [stage-24] replica: $ redis-cli PING [stage-24] replica: Sent bytes: "*1\r\n$4\r\nPING\r\n" @@ -857,11 +857,11 @@ Debug = true [stage-24] Received "OK" [stage-24] replica: $ redis-cli PSYNC ? -1 [stage-24] replica: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-24] replica: Received bytes: "+FULLRESYNC bc00726e14c6da6d5b42f99e1ef0366a68d885a3 0\r\n" -[stage-24] replica: Received RESP value: "FULLRESYNC bc00726e14c6da6d5b42f99e1ef0366a68d885a3 0" -[stage-24] Received "FULLRESYNC bc00726e14c6da6d5b42f99e1ef0366a68d885a3 0" +[stage-24] replica: Received bytes: "+FULLRESYNC f087672b45f9df72ccc99153267d2c2e27452087 0\r\n" +[stage-24] replica: Received RESP value: "FULLRESYNC f087672b45f9df72ccc99153267d2c2e27452087 0" +[stage-24] Received "FULLRESYNC f087672b45f9df72ccc99153267d2c2e27452087 0" [stage-24] Reading RDB file... -[stage-24] replica: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\x13H>f\xfa\bused-mem\xc2@S\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(bc00726e14c6da6d5b42f99e1ef0366a68d885a3\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xdaE\xbb\xbf.\xe5tJ" +[stage-24] replica: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xedJFf\xfa\bused-mem\xc2\xd0R\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(f087672b45f9df72ccc99153267d2c2e27452087\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffO\x9c.Ι\x97\x16\xf1" [stage-24] Received RDB file [stage-24] client: $ redis-cli SET foo 123 [stage-24] client: Sent bytes: "*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\n123\r\n" @@ -897,7 +897,7 @@ Debug = true [stage-24] Terminating program [stage-24] Program terminated successfully -[stage-23] Running tests for Stage #23: repl-master-psync-rdb +[stage-23] Running tests for Stage #23: cf8 [stage-23] $ ./spawn_redis_server.sh --port 6379 [stage-23] client: $ redis-cli PING [stage-23] client: Sent bytes: "*1\r\n$4\r\nPING\r\n" @@ -916,17 +916,17 @@ Debug = true [stage-23] Received "OK" [stage-23] client: $ redis-cli PSYNC ? -1 [stage-23] client: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-23] client: Received bytes: "+FULLRESYNC 59c4dc906896fb2f1f908a89156b850e06065ef1 0\r\n" -[stage-23] client: Received RESP value: "FULLRESYNC 59c4dc906896fb2f1f908a89156b850e06065ef1 0" -[stage-23] Received "FULLRESYNC 59c4dc906896fb2f1f908a89156b850e06065ef1 0" +[stage-23] client: Received bytes: "+FULLRESYNC 033277fab3027b240ac548c848ccc79ce1dce38e 0\r\n" +[stage-23] client: Received RESP value: "FULLRESYNC 033277fab3027b240ac548c848ccc79ce1dce38e 0" +[stage-23] Received "FULLRESYNC 033277fab3027b240ac548c848ccc79ce1dce38e 0" [stage-23] Reading RDB file... -[stage-23] client: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.4\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\x13H>f\xfa\bused-mem\xc20\x0e\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(59c4dc906896fb2f1f908a89156b850e06065ef1\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xff\xf5a:\x8dz&n\x19" +[stage-23] client: Received bytes: "$171\r\nREDIS0011\xfa\tredis-ver\x057.2.3\xfa\nredis-bits\xc0@\xfa\x05ctime\xc2\xedJFf\xfa\bused-mem\xc2\xc0\r\x12\x00\xfa\x0erepl-stream-db\xc0\x00\xfa\arepl-id(033277fab3027b240ac548c848ccc79ce1dce38e\xfa\vrepl-offset\xc0\x00\xfa\baof-base\xc0\x00\xffY\xd5\xf2\xc2\xddy&\x8d" [stage-23] Received RDB file [stage-23] Test passed. [stage-23] Terminating program [stage-23] Program terminated successfully -[stage-22] Running tests for Stage #22: repl-master-psync +[stage-22] Running tests for Stage #22: vm3 [stage-22] $ ./spawn_redis_server.sh --port 6379 [stage-22] client: $ redis-cli PING [stage-22] client: Sent bytes: "*1\r\n$4\r\nPING\r\n" @@ -945,14 +945,14 @@ Debug = true [stage-22] Received "OK" [stage-22] client: $ redis-cli PSYNC ? -1 [stage-22] client: Sent bytes: "*3\r\n$5\r\nPSYNC\r\n$1\r\n?\r\n$2\r\n-1\r\n" -[stage-22] client: Received bytes: "+FULLRESYNC 9932ecf2f66b217fed8c947627dfb931b67d8857 0\r\n" -[stage-22] client: Received RESP value: "FULLRESYNC 9932ecf2f66b217fed8c947627dfb931b67d8857 0" -[stage-22] Received "FULLRESYNC 9932ecf2f66b217fed8c947627dfb931b67d8857 0" +[stage-22] client: Received bytes: "+FULLRESYNC bf8bd71dc7923e2af8af316c81f5cfae865c409a 0\r\n" +[stage-22] client: Received RESP value: "FULLRESYNC bf8bd71dc7923e2af8af316c81f5cfae865c409a 0" +[stage-22] Received "FULLRESYNC bf8bd71dc7923e2af8af316c81f5cfae865c409a 0" [stage-22] Test passed. [stage-22] Terminating program [stage-22] Program terminated successfully -[stage-21] Running tests for Stage #21: repl-master-replconf +[stage-21] Running tests for Stage #21: fj0 [stage-21] $ ./spawn_redis_server.sh --port 6379 [stage-21] client: $ redis-cli PING [stage-21] client: Sent bytes: "*1\r\n$4\r\nPING\r\n" @@ -973,7 +973,7 @@ Debug = true [stage-21] Terminating program [stage-21] Program terminated successfully -[stage-20] Running tests for Stage #20: repl-replica-psync +[stage-20] Running tests for Stage #20: ju6 [stage-20] Master is running on port 6379 [stage-20] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" [stage-20] master: Waiting for replica to initiate handshake with "PING" command @@ -1004,7 +1004,7 @@ Debug = true [stage-20] Terminating program [stage-20] Program terminated successfully -[stage-19] Running tests for Stage #19: repl-replica-replconf +[stage-19] Running tests for Stage #19: eh4 [stage-19] Master is running on port 6379 [stage-19] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" [stage-19] master: Waiting for replica to initiate handshake with "PING" command @@ -1029,7 +1029,7 @@ Debug = true [stage-19] Terminating program [stage-19] Program terminated successfully -[stage-18] Running tests for Stage #18: repl-replica-ping +[stage-18] Running tests for Stage #18: gl7 [stage-18] Master is running on port 6379. [stage-18] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" [stage-18] master: Waiting for replica to initiate handshake with "PING" command @@ -1042,20 +1042,20 @@ Debug = true [stage-18] Terminating program [stage-18] Program terminated successfully -[stage-17] Running tests for Stage #17: repl-id +[stage-17] Running tests for Stage #17: xc1 [stage-17] $ ./spawn_redis_server.sh [stage-17] client: $ redis-cli INFO replication [stage-17] client: Sent bytes: "*2\r\n$4\r\nINFO\r\n$11\r\nreplication\r\n" -[stage-17] client: Received bytes: "$349\r\n# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:fce177b51f2533035c89ecbcdf9eda0dd50d9ff7\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n\r\n" -[stage-17] client: Received RESP value: "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:fce177b51f2533035c89ecbcdf9eda0dd50d9ff7\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" -[stage-17] Received "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:fce177b51f2533035c89ecbcdf9eda0dd50d9ff7\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" +[stage-17] client: Received bytes: "$349\r\n# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:019d60f7c4842d3f7bbe74434d36fa31566d3eb4\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n\r\n" +[stage-17] client: Received RESP value: "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:019d60f7c4842d3f7bbe74434d36fa31566d3eb4\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" +[stage-17] Received "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:019d60f7c4842d3f7bbe74434d36fa31566d3eb4\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" [stage-17] Found master_replid:xxx in response. [stage-17] Found master_reploffset:0 in response. [stage-17] Test passed. [stage-17] Terminating program [stage-17] Program terminated successfully -[stage-16] Running tests for Stage #16: repl-info-replica +[stage-16] Running tests for Stage #16: hc6 [stage-16] Master is running on port 6379 [stage-16] $ ./spawn_redis_server.sh --port 6380 --replicaof "localhost 6379" [stage-16] master: Received bytes: "*1\r\n$4\r\nPING\r\n" @@ -1085,19 +1085,19 @@ Debug = true [stage-16] Terminating program [stage-16] Program terminated successfully -[stage-15] Running tests for Stage #15: repl-info +[stage-15] Running tests for Stage #15: ye5 [stage-15] $ ./spawn_redis_server.sh [stage-15] client: $ redis-cli INFO replication [stage-15] client: Sent bytes: "*2\r\n$4\r\nINFO\r\n$11\r\nreplication\r\n" -[stage-15] client: Received bytes: "$349\r\n# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:49ed32bd7431f5109bcd016260fc88187559a447\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n\r\n" -[stage-15] client: Received RESP value: "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:49ed32bd7431f5109bcd016260fc88187559a447\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" -[stage-15] Received "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:49ed32bd7431f5109bcd016260fc88187559a447\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" +[stage-15] client: Received bytes: "$349\r\n# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:c48f65b4b312322a0598fe9338f1b1122ae931f1\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n\r\n" +[stage-15] client: Received RESP value: "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:c48f65b4b312322a0598fe9338f1b1122ae931f1\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" +[stage-15] Received "# Replication\r\nrole:master\r\nconnected_slaves:0\r\nmaster_failover_state:no-failover\r\nmaster_replid:c48f65b4b312322a0598fe9338f1b1122ae931f1\r\nmaster_replid2:0000000000000000000000000000000000000000\r\nmaster_repl_offset:0\r\nsecond_repl_offset:-1\r\nrepl_backlog_active:0\r\nrepl_backlog_size:1048576\r\nrepl_backlog_first_byte_offset:0\r\nrepl_backlog_histlen:0\r\n" [stage-15] Found role:master in response. [stage-15] Test passed. [stage-15] Terminating program [stage-15] Program terminated successfully -[stage-14] Running tests for Stage #14: repl-custom-port +[stage-14] Running tests for Stage #14: bw1 [stage-14] $ ./spawn_redis_server.sh --port 6386 [stage-14] Connecting to port 6386... [stage-14] Connection successful @@ -1105,8 +1105,8 @@ Debug = true [stage-14] Terminating program [stage-14] Program terminated successfully -[stage-13] Running tests for Stage #13: rdb-read-value-with-expiry -[stage-13] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles3219304145 --dbfilename banana.rdb +[stage-13] Running tests for Stage #13: sm4 +[stage-13] $ ./spawn_redis_server.sh --dir /private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles2314635094 --dbfilename banana.rdb [stage-13] client: $ redis-cli GET blueberry [stage-13] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$9\r\nblueberry\r\n" [stage-13] client: Received bytes: "$4\r\npear\r\n" @@ -1131,9 +1131,9 @@ Debug = true [stage-13] Terminating program [stage-13] Program terminated successfully -[stage-12] Running tests for Stage #12: rdb-read-multiple-string-values +[stage-12] Running tests for Stage #12: dq3 [stage-12] Created RDB file with key-value pairs: "pineapple"="pear", "raspberry"="strawberry", "pear"="pineapple" -[stage-12] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles445392019 --dbfilename strawberry.rdb +[stage-12] $ ./spawn_redis_server.sh --dir /private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles3347345604 --dbfilename strawberry.rdb [stage-12] client: $ redis-cli GET pineapple [stage-12] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$9\r\npineapple\r\n" [stage-12] client: Received bytes: "$4\r\npear\r\n" @@ -1153,21 +1153,21 @@ Debug = true [stage-12] Terminating program [stage-12] Program terminated successfully -[stage-11] Running tests for Stage #11: rdb-read-multiple-keys +[stage-11] Running tests for Stage #11: jw4 [stage-11] Created RDB file with 4 keys: ["mango" "pineapple" "blueberry" "apple"] -[stage-11] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles1604981223 --dbfilename strawberry.rdb +[stage-11] $ ./spawn_redis_server.sh --dir /private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles655090049 --dbfilename strawberry.rdb [stage-11] client: $ redis-cli KEYS * [stage-11] client: Sent bytes: "*2\r\n$4\r\nKEYS\r\n$1\r\n*\r\n" -[stage-11] client: Received bytes: "*4\r\n$5\r\napple\r\n$9\r\nblueberry\r\n$9\r\npineapple\r\n$5\r\nmango\r\n" -[stage-11] client: Received RESP value: ["apple", "blueberry", "pineapple", "mango"] -[stage-11] Received ["apple", "blueberry", "pineapple", "mango"] +[stage-11] client: Received bytes: "*4\r\n$5\r\napple\r\n$5\r\nmango\r\n$9\r\nblueberry\r\n$9\r\npineapple\r\n" +[stage-11] client: Received RESP value: ["apple", "mango", "blueberry", "pineapple"] +[stage-11] Received ["apple", "mango", "blueberry", "pineapple"] [stage-11] Test passed. [stage-11] Terminating program [stage-11] Program terminated successfully -[stage-10] Running tests for Stage #10: rdb-read-string-value +[stage-10] Running tests for Stage #10: gc6 [stage-10] Created RDB file with single key-value pair: grape="raspberry" -[stage-10] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles3599055013 --dbfilename blueberry.rdb +[stage-10] $ ./spawn_redis_server.sh --dir /private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles2202079151 --dbfilename blueberry.rdb [stage-10] client: $ redis-cli GET grape [stage-10] client: Sent bytes: "*2\r\n$3\r\nGET\r\n$5\r\ngrape\r\n" [stage-10] client: Received bytes: "$9\r\nraspberry\r\n" @@ -1177,9 +1177,9 @@ Debug = true [stage-10] Terminating program [stage-10] Program terminated successfully -[stage-9] Running tests for Stage #9: rdb-read-key +[stage-9] Running tests for Stage #9: jz6 [stage-9] Created RDB file with single key: "orange" -[stage-9] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles3123330290 --dbfilename mango.rdb +[stage-9] $ ./spawn_redis_server.sh --dir /private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles1695694078 --dbfilename mango.rdb [stage-9] client: $ redis-cli KEYS * [stage-9] client: Sent bytes: "*2\r\n$4\r\nKEYS\r\n$1\r\n*\r\n" [stage-9] client: Received bytes: "*1\r\n$6\r\norange\r\n" @@ -1189,33 +1189,33 @@ Debug = true [stage-9] Terminating program [stage-9] Program terminated successfully -[stage-8] Running tests for Stage #8: rdb-config -[stage-8] $ ./spawn_redis_server.sh --dir /private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles380550116 --dbfilename raspberry.rdb +[stage-8] Running tests for Stage #8: zg5 +[stage-8] $ ./spawn_redis_server.sh --dir /private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles228727185 --dbfilename raspberry.rdb [stage-8] client: $ redis-cli CONFIG GET dir [stage-8] client: Sent bytes: "*3\r\n$6\r\nCONFIG\r\n$3\r\nGET\r\n$3\r\ndir\r\n" -[stage-8] client: Received bytes: "*2\r\n$3\r\ndir\r\n$74\r\n/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles380550116\r\n" -[stage-8] client: Received RESP value: ["dir", "/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles380550116"] -[stage-8] Received ["dir", "/private/var/folders/5l/z5y3dkwn68sgb6htzc5w7vnm0000gn/T/rdbfiles380550116"] +[stage-8] client: Received bytes: "*2\r\n$3\r\ndir\r\n$74\r\n/private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles228727185\r\n" +[stage-8] client: Received RESP value: ["dir", "/private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles228727185"] +[stage-8] Received ["dir", "/private/var/folders/79/lp3v5_c16v979pz111l0v__m0000gn/T/rdbfiles228727185"] [stage-8] Test passed. [stage-8] Terminating program [stage-8] Program terminated successfully -[stage-7] Running tests for Stage #7: expiry +[stage-7] Running tests for Stage #7: yz1 [stage-7] $ ./spawn_redis_server.sh [stage-7] $ redis-cli SET banana orange px 100 [stage-7] Sent bytes: "*5\r\n$3\r\nSET\r\n$6\r\nbanana\r\n$6\r\norange\r\n$2\r\npx\r\n$3\r\n100\r\n" [stage-7] Received bytes: "+OK\r\n" [stage-7] Received RESP value: "OK" [stage-7] Received "OK" -[stage-7] Received OK at 21:45:19.116 -[stage-7] Fetching key "banana" at 21:45:19.116 (should not be expired) +[stage-7] Received OK at 02:05:36.517 +[stage-7] Fetching key "banana" at 02:05:36.517 (should not be expired) [stage-7] $ redis-cli GET banana [stage-7] Sent bytes: "*2\r\n$3\r\nGET\r\n$6\r\nbanana\r\n" [stage-7] Received bytes: "$6\r\norange\r\n" [stage-7] Received RESP value: "orange" [stage-7] Received "orange" [stage-7] Sleeping for 101ms -[stage-7] Fetching key "banana" at 21:45:19.220 (should be expired) +[stage-7] Fetching key "banana" at 02:05:36.620 (should be expired) [stage-7] $ redis-cli GET banana [stage-7] Sent bytes: "*2\r\n$3\r\nGET\r\n$6\r\nbanana\r\n" [stage-7] Received bytes: "$-1\r\n" @@ -1225,7 +1225,7 @@ Debug = true [stage-7] Terminating program [stage-7] Program terminated successfully -[stage-6] Running tests for Stage #6: set_get +[stage-6] Running tests for Stage #6: la7 [stage-6] $ ./spawn_redis_server.sh [stage-6] Setting key mango to apple [stage-6] $ redis-cli SET mango apple @@ -1243,7 +1243,7 @@ Debug = true [stage-6] Terminating program [stage-6] Program terminated successfully -[stage-5] Running tests for Stage #5: echo +[stage-5] Running tests for Stage #5: qq0 [stage-5] $ ./spawn_redis_server.sh [stage-5] $ redis-cli ECHO banana [stage-5] Sent bytes: "*2\r\n$4\r\nECHO\r\n$6\r\nbanana\r\n" @@ -1254,7 +1254,7 @@ Debug = true [stage-5] Terminating program [stage-5] Program terminated successfully -[stage-4] Running tests for Stage #4: concurrent-clients +[stage-4] Running tests for Stage #4: zu2 [stage-4] $ ./spawn_redis_server.sh [stage-4] client-1: $ redis-cli PING [stage-4] client-1: Sent bytes: "*1\r\n$4\r\nPING\r\n" @@ -1293,7 +1293,7 @@ Debug = true [stage-4] Terminating program [stage-4] Program terminated successfully -[stage-3] Running tests for Stage #3: ping-pong-multiple +[stage-3] Running tests for Stage #3: wy1 [stage-3] $ ./spawn_redis_server.sh [stage-3] client-1: $ redis-cli PING [stage-3] client-1: Sent bytes: "*1\r\n$4\r\nPING\r\n" @@ -1315,7 +1315,7 @@ Debug = true [stage-3] Terminating program [stage-3] Program terminated successfully -[stage-2] Running tests for Stage #2: ping-pong +[stage-2] Running tests for Stage #2: rg2 [stage-2] $ ./spawn_redis_server.sh [stage-2] Connection established, sending ping command... [stage-2] $ redis-cli PING @@ -1327,7 +1327,7 @@ Debug = true [stage-2] Terminating program [stage-2] Program terminated successfully -[stage-1] Running tests for Stage #1: init +[stage-1] Running tests for Stage #1: jm1 [stage-1] $ ./spawn_redis_server.sh [stage-1] Connecting to port 6379... [stage-1] Connection successful diff --git a/internal/tester_definition.go b/internal/tester_definition.go index 88e90571..f7a470b9 100644 --- a/internal/tester_definition.go +++ b/internal/tester_definition.go @@ -16,180 +16,180 @@ var testerDefinition = tester_definition.TesterDefinition{ ExecutableFileName: "spawn_redis_server.sh", TestCases: []tester_definition.TestCase{ { - Slug: "init", + Slug: "jm1", TestFunc: testBindToPort, Timeout: 15 * time.Second, }, { - Slug: "ping-pong", + Slug: "rg2", TestFunc: testPingPongOnce, }, { - Slug: "ping-pong-multiple", + Slug: "wy1", TestFunc: testPingPongMultiple, }, { - Slug: "concurrent-clients", + Slug: "zu2", TestFunc: testPingPongConcurrent, }, { - Slug: "echo", + Slug: "qq0", TestFunc: testEcho, }, { - Slug: "set_get", + Slug: "la7", TestFunc: testGetSet, }, { - Slug: "expiry", + Slug: "yz1", TestFunc: testExpiry, }, { - Slug: "rdb-config", + Slug: "zg5", TestFunc: testRdbConfig, }, { - Slug: "rdb-read-key", + Slug: "jz6", TestFunc: testRdbReadKey, }, { - Slug: "rdb-read-string-value", + Slug: "gc6", TestFunc: testRdbReadStringValue, }, { - Slug: "rdb-read-multiple-keys", + Slug: "jw4", TestFunc: testRdbReadMultipleKeys, }, { - Slug: "rdb-read-multiple-string-values", + Slug: "dq3", TestFunc: testRdbReadMultipleStringValues, }, { - Slug: "rdb-read-value-with-expiry", + Slug: "sm4", TestFunc: testRdbReadValueWithExpiry, }, { - Slug: "repl-custom-port", + Slug: "bw1", TestFunc: testReplBindToCustomPort, }, { - Slug: "repl-info", + Slug: "ye5", TestFunc: testReplInfo, }, { - Slug: "repl-info-replica", + Slug: "hc6", TestFunc: testReplInfoReplica, }, { - Slug: "repl-id", + Slug: "xc1", TestFunc: testReplReplicationID, }, { - Slug: "repl-replica-ping", + Slug: "gl7", TestFunc: testReplReplicaSendsPing, }, { - Slug: "repl-replica-replconf", + Slug: "eh4", TestFunc: testReplReplicaSendsReplconf, }, { - Slug: "repl-replica-psync", + Slug: "ju6", TestFunc: testReplReplicaSendsPsync, }, { - Slug: "repl-master-replconf", + Slug: "fj0", TestFunc: testReplMasterReplconf, }, { - Slug: "repl-master-psync", + Slug: "vm3", TestFunc: testReplMasterPsync, }, { - Slug: "repl-master-psync-rdb", + Slug: "cf8", TestFunc: testReplMasterPsyncRdb, }, { - Slug: "repl-master-cmd-prop", + Slug: "zn8", TestFunc: testReplMasterCmdProp, }, { - Slug: "repl-multiple-replicas", + Slug: "hd5", TestFunc: testReplMultipleReplicas, }, { - Slug: "repl-cmd-processing", + Slug: "yg4", TestFunc: testReplCmdProcessing, }, { - Slug: "repl-replica-getack", + Slug: "xv6", TestFunc: testReplGetaAckZero, }, { - Slug: "repl-replica-getack-nonzero", + Slug: "yd3", TestFunc: testReplGetaAckNonZero, }, { - Slug: "repl-wait-zero-replicas", + Slug: "my8", TestFunc: testWaitZeroReplicas, }, { - Slug: "repl-wait-zero-offset", + Slug: "tu8", TestFunc: testWaitZeroOffset, }, { - Slug: "repl-wait", + Slug: "na2", TestFunc: testWait, }, { - Slug: "streams-type", + Slug: "cc3", TestFunc: testStreamsType, }, { - Slug: "streams-xadd", + Slug: "cf6", TestFunc: testStreamsXadd, }, { - Slug: "streams-xadd-validate-id", + Slug: "hq8", TestFunc: testStreamsXaddValidateID, }, { - Slug: "streams-xadd-partial-autoid", + Slug: "yh3", TestFunc: testStreamsXaddPartialAutoid, }, { - Slug: "streams-xadd-full-autoid", + Slug: "xu6", TestFunc: testStreamsXaddFullAutoid, }, { - Slug: "streams-xrange", + Slug: "zx1", TestFunc: testStreamsXrange, }, { - Slug: "streams-xrange-min-id", + Slug: "yp1", TestFunc: testStreamsXrangeMinID, }, { - Slug: "streams-xrange-max-id", + Slug: "fs1", TestFunc: testStreamsXrangeMaxID, }, { - Slug: "streams-xread", + Slug: "um0", TestFunc: testStreamsXread, }, { - Slug: "streams-xread-multiple", + Slug: "ru9", TestFunc: testStreamsXreadMultiple, }, { - Slug: "streams-xread-block", + Slug: "bs1", TestFunc: testStreamsXreadBlock, }, { - Slug: "streams-xread-block-no-timeout", + Slug: "hw1", TestFunc: testStreamsXreadBlockNoTimeout, }, { - Slug: "streams-xread-block-max-id", + Slug: "xu1", TestFunc: testStreamsXreadBlockMaxID, }, },