-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtest_brake.c
More file actions
98 lines (86 loc) · 3.32 KB
/
test_brake.c
File metadata and controls
98 lines (86 loc) · 3.32 KB
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#include "athr.h"
#include "athr_terminal.h"
#include <stdlib.h>
static int brake(char const *desc, enum athr_option opt)
{
struct athr at = ATHR_INIT;
if (athr_start(&at, 8, desc, opt)) return EXIT_FAILURE;
for (unsigned i = 0; i < 8; ++i)
{
athr_eat(&at, 1);
}
athr_stop(&at);
return EXIT_SUCCESS;
}
static char const *huge_desc = "Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem."
"Morbi ac cursus sem.";
int main(void)
{
athr_disable_threading(true);
athr_terminal_force_fallback_use(true);
enum athr_option options[8] = {
ATHR_NONE,
ATHR_BAR,
ATHR_ETA,
ATHR_PERC,
ATHR_BAR | ATHR_ETA,
ATHR_BAR | ATHR_PERC,
ATHR_ETA | ATHR_PERC,
ATHR_BAR | ATHR_ETA | ATHR_PERC,
};
for (unsigned i = 0; i < 7; ++i)
{
if (brake("Desc", options[i])) return EXIT_FAILURE;
}
for (unsigned i = 0; i < 7; ++i)
{
for (unsigned w = 0; w < 1024; ++w)
{
athr_terminal_set_fallback_width(w);
if (brake("Desc", options[i])) return EXIT_FAILURE;
}
}
athr_terminal_force_fallback_use(false);
if (brake(huge_desc, options[7])) return EXIT_FAILURE;
athr_terminal_force_fallback_use(true);
athr_terminal_set_fallback_width(25);
if (brake(huge_desc, options[7])) return EXIT_FAILURE;
athr_terminal_set_fallback_width(256);
if (brake(huge_desc, options[7])) return EXIT_FAILURE;
return EXIT_SUCCESS;
}