summaryrefslogtreecommitdiff
path: root/code_server.py
AgeCommit message (Collapse)Author
2011-11-26BUG: Fix bugs.Prabhu Ramachandran
If the user_dir was deleted, the script would fail. We now create the user_dir if it isn't there. If the bash script is not properly created you get other uncaught errors which were not reported. This is fixed and tested.
2011-11-25ENH: Fixing bash support, tests for code server.Prabhu Ramachandran
This checkin fixes bash support. In actuality the bash support lets one test any runnable script/program that outputs results to stdout. I've also added a decent test suite for the code server that checks if it functions correctly or not. I've also updated the sample_questions to work with the new bash support and added a reference bash script and the testcode to go with it.
2011-11-24ENH: Creating a ServerPool for code checksPrabhu Ramachandran
Changed the server so we use a pool of servers managed with a Queue of available servers. The XML/RPC client is also changed to handle connection failures gracefully. This is because XML/RPC cannot have more than 2 connections at a given time, so if there is an error, we wait for a random amount of time and try again. This allows us to handle fairly large loads nicely.
2011-11-24BUG: Set effective UID. Set execute bit for scriptPrabhu Ramachandran
2011-11-24ENH/TMP: Preliminary support for bash scripts.Prabhu Ramachandran
- Changing the Question model to add a language attribute. - Moving python_server.py -> code_server.py. - Adding functionality to test for Shell scripts. This is still incomplete since the shell code checker seems to have some problems. - Modified the xmlrpc_clients to support multiple languages and right now two. - Using setgid/setuid instead of setegid/seteuid in the code_server.py.. - Adding a bash example to the sample_questions.py. The shell script support doesn't quite work yet but this is really a code_server/checking issue.