Stage #IF6 case sensitive stdout test

I’m stuck on stage 4 of the Docker challenge in Go.

I believe the assertion for FS isolation should be case-insensitive. I think my current stdout output should pass:

remote: [stage-4] Expected stdout to contain "No such file or directory", got: "Err: fork/exec /usr/local/bin/docker-explorer: no such file or directory"

However, the assertion is checking for an uppercase “N” in “No” here:

if err = assertStdoutContains(result, "No such file or directory"); err != nil {
	return err
}

Maybe this is intentional, but it seems like a simple mistake.

Thanks for building this great tool! : )

@harveysanders thanks for reporting!

The error here is misleading for sure, the reason here is that “no such file or directory” is an error string originating from your program, instead of from docker-explorer ls. If docker-explorer ls was successfully executed, its output would include the capital N when a directory isn’t found.

Definitely has to be a way to make the tester more friendly here… Maybe by testing ls on a known directory first before testing the invalid directory case. Will see what we can do!

Ah thanks for the quick reply! I see what you mean now, looking at the docker-explorer source:

Maybe it would help to include the name of the executed command in the assertion? For example, on my system (zsh on OSX), i’d get this output with ls

$ ls /not-a-dir
ls: /not-a-dir: No such file or directory

Including the executed command and the path might give the dev just enough clues to understand their code is off. That would require an upstream change on docker-explorer as well though.

Anyway, thanks again for the reply and the helpful explanation!

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

Note: I’ve updated the title of this post to include the stage ID (#IF6). You can learn about the stages rename here: Upcoming change: Stages overhaul.