Giter Site home page Giter Site logo

tripouille / gnltester Goto Github PK

View Code? Open in Web Editor NEW
146.0 3.0 37.0 51 KB

Tester for the get_next_line project of 42 school

Home Page: https://github.com/Tripouille

Makefile 12.45% C++ 87.10% Dockerfile 0.46%
gnl get next line getnextline tester gnltester tripouille 42 2019

gnltester's Introduction

gnlTester (2019+)

Tester for the get next line project of 42 school (with personalized leaks checking on mac, using valgrind on linux)
Clone this tester in your get_next_line repository. (works on linux and mac, handles sigsegv on all tests, and timeout on mandatory part)
alt text

Commands

make m = launch mandatory tests
make b = launch bonus tests
make a = launch mandatory tests + bonus tests

make dockerm = launch mandatory tests in linux container
make dockerb = launch bonus tests in linux container
make dockera = launch mandatory tests + bonus tests in linux container
Thanks to gurival- for the docker idea (https://github.com/grouville/valgrind_42)

You can change the timeout value in Makefile
alt text

FOR RIGOROUS TEST YOU SHOULD RUN ALL TESTS WITH VALGRIND USING LINUX (make docker...)

Setup docker in goinfre for 42 mac

rm -rf ~/Library/Containers/com.docker.docker  
rm -rf ~/.docker  
rm -rf /goinfre/${USER}/docker /goinfre/${USER}/agent  
mkdir -p /goinfre/${USER}/docker /goinfre/${USER}/agent  
ln -s /goinfre/${USER}/agent ~/Library/Containers/com.docker.docker  
ln -s /goinfre/${USER}/docker ~/.docker  

Outputs

alt text
alt text
alt text

MOK / MKO = test about your malloc size (this shouldn't be tested by moulinette)

Report bugs / Improvement

Contact me on slack or discord : jgambard

gnltester's People

Contributors

angelamcosta avatar opsec-infosec avatar tripouille avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

gnltester's Issues

didn't catch the header names

Hi Tripouille, if it's not a problem to you, I suggest to add a feature to this test to check if the include header names it's correct.
I forgot to put the #include "get_next_line_bonus.h" at my bonus instead I putted #include "get_next_line.h" and the tests were ok, but holy moulli k.o. me.

Leaks checking

The tester indicate leaks whereas system leaks and valgrind dont find leaks with the same inputs parameters

Terminal color remains green

After the tests complete, terminal color remains green. In gnl.hpp, inside the TEST definition, out << FG_DEFAULT is necessary before exit. Also at the end of the line, "TIMEOUT" << FG_DEFAULT.

Too early leak testing in the bonus part

In the bonus part more precisely in the multiple-fd testing the showLeaks() function is getting called before the get_next_line function actually finishes (in case it returns NULL). Therefore it shows leaks if you still have heap-allocated memory when you return the last line which isn't correct, because get_next_line only finishes if it returns NULL. The tester should let get_next_line read all filedescriptors until the function returns null.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.