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.
