datacamp / shellwhat

https://shellwhat.readthedocs.io
GNU Affero General Public License v3.0
2 stars 8 forks source link

Implement Git SCTs #26

Closed machow closed 6 years ago

machow commented 7 years ago

There are a couple approaches we could take..

  1. Implement a shellwhat-ext library, so development could move quickly (since shellwhat updates will need to pass on the exercise validator for all shell courses)

  2. Just put them in shellwhat. We could either require gitpython, or raise an error when a git SCT is run but gitpython isn't installed (comparable to suggested in R)

CC @gvwilson

gvwilson commented 7 years ago

I vote for adding them to shellwhat, since I'm going to want to use many/all of the shell SCT tools to check command-line Git operations. Should I add gitpython to shellwhat's requirements.txt? If so, what has to happen after that to make it available in SCTs in the platform?

machow commented 7 years ago

@gvwilson, if we added them to a shellwhat-ext library, you'd still be able to use all the shellwhat SCTs. The key difference is that with a shellwhat-ext library that was installed via requirements.sh, you wouldn't have to wait for me to push a new version of shellwhat to the shared docker image. It could also be locked to a version number, so we wouldn't need to worry about backwards compatibility.

On the other hand, unlike python or R, there likely won't be as much shell content, so putting everything in shellwhat likely would be fine. (and you could always install a specific branch of shellwhat in requirements.sh, so that waiting for the shared image to update doesn't block testing / etc..)

cc @rv2e , what do you think?

gvwilson commented 7 years ago

I'm happy with either model.

rv2e commented 7 years ago

@machow As a first step I wouldn't go for the solution where you have to update shellwhat so you can be completely focus on the shell course feature. Then If we see that lots of course require the same shellwhat-ext library, we can put it into the shellwhat afterwards. Sounds good for you or did I miss something? I just want to be sure that you (and I) are focus on the shell course and not spend to much time on git for now :)

filipsch commented 6 years ago

The git course is live, so I assume this is tackled. If there are specific things that still need to be addressed, feel free to make a new issue.

machow commented 6 years ago

@filipsch just a heads up, I think the git course uses all regex SCTs (test_student_typed), but there are examples of using test_expr_error in the example shell course https://www.datacamp.com/teach/repositories/1382/branches/master.