testing framework for holberton school's shell project
This project is maintained by johncoleman83
a project for:
Please look into the code before you use it! We are using sudo, so be sure you know what you are doing first! Don’t trust us; look in the code!
Project Shellfish is an automated task checker for Holberton School’s 0x15. C - Simple Shell project.
Dockerfile The Dockerfile contains a simple set of instructions for Docker during build time and runtime.
init.sh This cript is a script, copied into the image that clones your shell repo, compiles it with all of the flags, clones the checker repo, moves your shell executable into the checker folder then runs the checker.
The only prerequisite is to install docker. You can have this running in your vagrant or on your local host because it uses a container, it will not mess with your system and everytime you run the tests a new container will be started so you do not have to worry about any system issues.
To install Docker, please refer to the Docker install manual for Ubuntu trusty 64: ‘Trusty 14.04 (LTS)’, linked here: https://docs.docker.com/engine/installation/linux/ubuntu/#install-using-the-repository
NOTE: Install the CE edition, not the EE edition
After you have installed docker please follow the following instructions.
$ git clone https://github.com/glyif/shellfish.git
$ cd shellfish
$ docker build -t shellfish:latest .
To run the tests
$ docker run -ti --rm shellfish GITHUBUSR
# GITHUBUSR is the github user that the simple_shell is on. e.g. glyif
You will need to run sudo
in from of your docker command.
IE:
$ sudo docker build -t shellfish:latest .
AND
$ sudo docker run -ti --rm shellfish GITHUBUSR
NOTE:
once you build your docker image, for continued testing all you need to do is
update your remote master of your shell repository, and then repeat the
previous docker run
command. There is no need to update your checker.
The update process for the checker occurs automatically.
for Users running natively on MacOS, not vagrant
When you run docker run
you’ll also need to include the following
tags: --security-opt seccomp:unconfined
error: docker: Got permission denied
do you need to use sudo
?
Failed checks are output in RED, passed checks are output in GREEN. ALL errors
written to stderr are output for all instances. When your shell and sh
both
output errors, the errors are written in grey. If your shell does not have an
error, but sh
does, the output is in RED, and visa versa.
[FAIL]
[PASS]
|
[pipe]) properly you will not pass. If
your shell does not exactly replicate the output of sh
you will not pass.If you would like to contribute to this project, please follow the process outlined here: https://gist.github.com/yeungegs/b18019dbf0466a523b0521bae405b066
Julien Barbier: julien@holbertonschool.com
Bobby Yang: 122@holbertonschool.com
David John Coleman II: lcsw@davidjohncoleman.com
Elaine Yeung elaine.yeung@holbertonschool.com
MIT License