Is the first test for "Implement the ECHO command" incorrect?

I’m stuck on Stage #QQ0 (Implement the ECHO command).

According to the stage documentation

The exact bytes you’ll receive will be a RESP Array that looks something like *2\r\n$4\r\nECHO\r\n$3\r\nhey\r\n. This is the RESP encoding of ["ECHO", "hey"].

The tester will expect to receive $3\r\nhey\r\n as a response. That’s the string hey encoded as a bulk string.

But the test doesn’t understand the returned bulk string

remote: [tester::#QQ0] Running tests for Stage #QQ0 (Implement the ECHO command)
remote: [tester::#QQ0] $ ./your_program.sh
remote: [your_program] Waiting for a client to connect…
remote: [your_program] Logs from your program will appear here!
remote: [tester::#QQ0] [client] $ redis-cli ECHO banana
remote: [your_program] Accepted connection from 127.0.0.1:57224
remote: [your_program] Received command: ‘ECHO’
remote: [tester::#QQ0] Expected “banana”, got “$6\r\nbanana\r\n”
remote: [tester::#QQ0] Test failed

“$6\r\nbanana\r\n” is a correctly encoded bulk string!

Should I return unencoded strimgs for the echo or ping commands?

It was in fact a bug from my side. Running the test in debug mode make me understand what was the issue.

1 Like

This topic was automatically closed 5 days after the last reply. New replies are no longer allowed.