aboutsummaryrefslogtreecommitdiff
path: root/generate.py
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2019-11-04 21:01:21 +0100
committerCharles <sircharlesaze@gmail.com>2019-11-05 03:08:14 +0100
commita3ea830c6ecebcfe85356d10fb5263f45ea01956 (patch)
tree9fca944b27d2aefe0d0ef1b2b589576a063d5b2f /generate.py
parent6ebaad27d92a5bb47fdf9618df12d3b4120f664e (diff)
downloadft_printf_test-a3ea830c6ecebcfe85356d10fb5263f45ea01956.tar.gz
ft_printf_test-a3ea830c6ecebcfe85356d10fb5263f45ea01956.tar.bz2
ft_printf_test-a3ea830c6ecebcfe85356d10fb5263f45ea01956.zip
Added iteractive mode and check with gcc -Wformat the generated test
before creating it
Diffstat (limited to 'generate.py')
-rw-r--r--generate.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/generate.py b/generate.py
index f119874..bbe4312 100644
--- a/generate.py
+++ b/generate.py
@@ -89,10 +89,19 @@ def generate_printf():
if __name__ == "__main__":
options = parse_args()
+ nb_tests = options["n"]
with open("generated.c", "w") as file:
file.write("#include \"header.h\"\n\nvoid generated_test(void)\n{\n\t")
- for _ in range(options["n"]):
- file.write(generate_printf() + "\n\t")
+ while nb_tests > 0:
+ with open("tmp.c", "w") as tmp:
+ tmp.write("#include <stdio.h>\n#include \"header.h\"\nvoid t (){")
+ tmp_assert = generate_printf()
+ tmp.write(tmp_assert + "}")
+ ret = os.system("gcc -c -Wall -Wextra -Werror tmp.c > /dev/null 2>&1")
+ print(ret)
+ if ret == 0:
+ file.write(tmp_assert + "\n\t")
+ nb_tests -= 1
file.write("}\n")