|
| 1 | +/* ************************************************************************** */ |
| 2 | +/* */ |
| 3 | +/* ::: :::::::: */ |
| 4 | +/* utils.c :+: :+: :+: */ |
| 5 | +/* +:+ +:+ +:+ */ |
| 6 | +/* By: yyang <[email protected]> +#+ +:+ +#+ */ |
| 7 | +/* +#+#+#+#+#+ +#+ */ |
| 8 | +/* Created: 2015/01/26 10:22:27 by yyang #+# #+# */ |
| 9 | +/* Updated: 2015/01/26 11:12:04 by yyang ### ########.fr */ |
| 10 | +/* */ |
| 11 | +/* ************************************************************************** */ |
| 12 | + |
1 | 13 | /*
|
2 | 14 | ** Project wide utility functions goes here
|
3 | 15 | */
|
| 16 | + |
| 17 | +#include <fw.h> |
| 18 | +#include <stdio.h> |
| 19 | +#include <mt_xstdio.h> |
| 20 | +#include <stdbool.h> |
| 21 | + |
| 22 | +#define MT_MAX_CMD_LENGTH 100 * 1000 |
| 23 | +#define SANDBOX_PATH "sandbox" |
| 24 | +#define OUTPUT_AFTER_FILTER_FILE_PATH SANDBOX_PATH"/output_test" |
| 25 | +#define RAW_OUTPUT_PATH SANDBOX_PATH"/output_raw" |
| 26 | + |
| 27 | +void mt_assert_sh(t_test *test, char *commands, char *assert_filter) |
| 28 | +{ |
| 29 | + char generate_raw_cmd[MT_MAX_CMD_LENGTH]; |
| 30 | + char filter_cmd[MT_MAX_CMD_LENGTH]; |
| 31 | + |
| 32 | + if (SANDBOX_PATH) |
| 33 | + system("rm -rf "SANDBOX_PATH); |
| 34 | + system("mkdir -p "SANDBOX_PATH); |
| 35 | + sprintf(generate_raw_cmd, "printf '%s' | "RENDU_PATH"/ft_sh1 > "RAW_OUTPUT_PATH, commands); |
| 36 | + sprintf(filter_cmd, "cat "RAW_OUTPUT_PATH" | %s > "OUTPUT_AFTER_FILTER_FILE_PATH, assert_filter); |
| 37 | + if (test->debug) |
| 38 | + { |
| 39 | + printf("\n================== cmd ==================\n"); |
| 40 | + printf("%s\n", generate_raw_cmd); |
| 41 | + printf("================ filter =================\n"); |
| 42 | + printf("%s\n", filter_cmd); |
| 43 | + printf("=========================================\n"); |
| 44 | + } |
| 45 | + system(generate_raw_cmd); |
| 46 | + system(filter_cmd); |
| 47 | + mt_assert(!mt_isemptyfile(OUTPUT_AFTER_FILTER_FILE_PATH)); |
| 48 | +} |
0 commit comments