blob: e431a9fed9eedbab7dab9a1fa7423bbaa45f57ab (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# ft_printf test
Unit test for the ft_printf project of 42 school.

## Usage
Clone this repo such that:
```
`
|- ft_printf_test/
|- ft_printf/
```
or modify the `FT_PRINTF_PATH` variable in the Makefile
- `> make run`: run the tests in a pretty format
- `> make verbose`: to show a more verbose output
- `> make quiet`: to show a more quiet output
- `> make raw`: run the tests in a ugly but parsable format
- `> python3 prettier -h`: show prettier options
- `> make generate`: generate 100 random test
## Random Test Generator
It will generate random test according to the `-Wformat` flag of gcc.
- `> python3 generate.py -n [number of tests]`: generate n test
- `> python3 generate.py -h`: show all available options
## Memory leaks check
You have to install [valgrind](http://valgrind.org/) with [brew](https://brew.sh/),
[here](https://stackoverflow.com/questions/35775102) is a nice thread to install it
locally if you don't have root access. You can then run `> brew install valgrind`.
- `> make check_leaks`: run valgrind on a test (without the test themself).
- `> make check_leaks_verbose`: add `--leak-check=full` to valgrind.
## Pro tips
This doesnt handle timeout, so if your `ft_printf` goes in an infinite loop,
this test will too.
`Ctrl-C` is your best friend.
|