diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-02-22 11:36:46 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-02-22 11:37:42 +0100 |
| commit | da4069d389ed0ca56a17da29b9e967bc2acb0dad (patch) | |
| tree | 3ec0c2bbe550487dda26a5a2dca3f2e27945dec6 | |
| parent | 3adaa2c31586c3f76cb572f5d407cdb5f06fca93 (diff) | |
| download | ft_ssl-da4069d389ed0ca56a17da29b9e967bc2acb0dad.tar.gz ft_ssl-da4069d389ed0ca56a17da29b9e967bc2acb0dad.tar.bz2 ft_ssl-da4069d389ed0ca56a17da29b9e967bc2acb0dad.zip | |
Testing and CI
| -rw-r--r-- | .travis.yml | 3 | ||||
| -rw-r--r-- | Makefile | 5 | ||||
| -rw-r--r-- | README.md | 2 | ||||
| -rwxr-xr-x | test.sh | 107 |
4 files changed, 115 insertions, 2 deletions
diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..a0e4157 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,3 @@ +language: c +compiler: gcc +script: make all && ./test.sh @@ -6,7 +6,7 @@ # By: cacharle <marvin@42.fr> +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2020/02/03 20:14:50 by cacharle #+# #+# # -# Updated: 2020/02/22 10:44:15 by cacharle ### ########.fr # +# Updated: 2020/02/22 11:24:58 by cacharle ### ########.fr # # # # **************************************************************************** # @@ -32,6 +32,9 @@ NAME = ft_ssl all: prebuild libft_all $(NAME) +test: all + ./test.sh + prebuild: @for subdir in $(OBJ_SUBDIR); do mkdir -p $$subdir; done @@ -1,4 +1,4 @@ -# ft_ssl_md5 +# ft_ssl_md5 [](https://travis-ci.com/HappyTramp/ft_ssl) ft\_ssl\_md5 project of school 42 @@ -0,0 +1,107 @@ +#!/bin/sh + +test_status=0 + +red() { + echo "$(tput setaf 1)$1$(tput sgr 0)\c" + test_status=1 +} + +green() { + echo "$(tput setaf 2)$1$(tput sgr 0)\c" +} + +assert() { + if [ $# -ne 2 ]; then + red "[KO] " + return 0 + fi + if [ -z "$1" ]; then + red "[KO] " + return 0 + fi + if [ -z "$2" ]; then + red "[KO] " + return 0 + fi + if [ "$1" = "$2" ]; then + green "[OK] " + else + red "[KO] " + fi +} + +# assert_ok() { +# assert $1 "OK" +# } +# +# assert_error() { +# assert $1 "Error" +# } +# + +assert_md5() { + assert `./ft_ssl md5 $1 2>&1` `md5 $1 2>&1` +} + +assert_sha256() { + assert `./ft_ssl md5 $1 2>&1` `openssl sha -sha256 $1 2>&1` +} + +echo "Usage: \c" +assert "`./ft_ssl 2>&1`" "usage: ./ft_ssl command [command opts] [command args]" +assert "`./ft_ssl foo 2>&1`"<<EOF +ft_ssl: Error: 'foo' is an invalid command. + +Standard commands: + +Message Digest commands: +md5 +sha256 + +Cipher commands: + +EOF + + +echo "\nArgument Error: \c" +assert_md5 "-a" +assert_md5 "-foo" +assert_md5 "-foo foobar.tmp" +assert_md5 "-foo README.md" +assert_md5 "foobar.tmp" + +echo "\nFiles: \c" +assert_md5 "README.md" +assert_md5 "README.md LICENCE" +assert_md5 "README.md foobar.tmp LICENCE" + +echo "\nQuiet: \c" +assert_md5 "-q foobar.tmp" +assert_md5 "-q README.md" +assert_md5 "-q README.md LICENCE" +assert_md5 "-q README.md foobar.tmp LICENCE" + +echo "\nString: \c" +assert_md5 "-s bonjour" +assert_md5 "-s bonjour -s 'aurevoir'" +assert_md5 "-sbonjour -s'aurevoir'" +assert_md5 "-s\"bonjour\" -syo'aurevoir'" + +echo "\nReverse: \c" +assert_md5 "-r -s bonjour" +assert_md5 "-r -s bonjour -s 'aurevoir'" +assert_md5 "-sbonjour -rs'aurevoir'" +assert_md5 "-r -rs\"bonjour\" -syo'aurevoir'" +assert_md5 "-r README.md" +assert_md5 "README.md -r LICENCE" +assert_md5 "README.md -r fowbar.tmp -r LICENCE" +assert_md5 "-q -r README.md" + +echo "\nPipe: \c" +echo "yoyoyo" | assert_md5 "-p -r -s bonjour" +echo "vvvvvvvvvv" | assert_md5 "-sbonjour -p -rs'aurevoir'" +echo "asdfkajhsdfjh" | assert_md5 "-p README.md -r fowbar.tmp -r LICENCE" +echo "helpplz" | assert_md5 "-p -r README.md" + +exit $test_status |
