-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Help prevent reverse engineering of tests #17
Comments
Hi Mike! That's a valid concern, thanks for bringing it up! Note that if you pass in I do like your suggestions though, we'lll keep that in mind for the future! |
Thanks for that.
Thanks again for considering a viable option. |
This isn't a complete solution, but it might be helpful to use
If they don't need |
One of the issues with Python testing, is that it's easy for students to read directories and figure out what files to potentially read. Although one could argue that a student who has figured this out probably should deserve to pass the tests. However, this kind of information then spreads.
There's many ways we mitigate this but all of them involve a lot of jumping through hoops (dynamically renaming the tests, removing the test files after they are loaded but before the students code is loaded), etc (which only work if in a sandboxed environment).
A simple and effective way to prevent this would be to allow the initialization of JSONTestRunner to take a parameter(s) to limit how much stdout and stderr is written out in the results. That's the most likely way for students to get information back. If both stdout and stderr are truncated to a specified maximum amount, then it allows both the framework to print relevant messages, but also keeps students from reading the test files.
Another option would be allow tests cases to write to a logfile that is then sent back to stdout first and anything else truncated.
The text was updated successfully, but these errors were encountered: