Improve error message for test #EC3

I have a suggestion on Stage #EC3 (stage passed). This took me some time to debug despite being a simple issue.

I’ve tried .. (see below).

Here are my logs:

[tester::#EC3] Running tests for Stage #EC3 (Lists - Blocking retrieval)
[tester::#EC3] $ ./your_program.sh
[your_program] Logs from your program will appear here!
[tester::#EC3] [client-1] $ redis-cli BLPOP banana 0
[tester::#EC3] [client-2] $ redis-cli BLPOP banana 0
[tester::#EC3] [client-3] $ redis-cli RPUSH banana grape
[tester::#EC3] Expected 1, got 0
[tester::#EC3] Test failed

long story short, basically I returned incoming value to a waiting client in RPUSH before pushing when there is a pending BLPOP, so the returned integer is 0 instead of 1 (because I just returned the end size of my list, the net effect is 0, this is wrong).

I think the test case is here: redis-tester/internal/test_list_blpop_no_timeout.go at main · codecrafters-io/redis-tester · GitHub

A message like expecting RPUSH to return integer 1 instead of 0 would be more helpful.

1 Like

Hey @hedgehog-359, thanks for highlighting the issue!

Would an output like the one below have made this easier to debug?

We’re improving the assertion output in this PR.

That would be great, thanks!

1 Like