1 | #include "cpp/pylib.h"
|
2 |
|
3 | #include "mycpp/runtime.h"
|
4 | #include "vendor/greatest.h"
|
5 |
|
6 | TEST os_path_test() {
|
7 | // TODO: use gc_mylib here, with NewStr(), StackRoots, etc.
|
8 | BigStr* s = nullptr;
|
9 |
|
10 | s = os_path::rstrip_slashes(StrFromC(""));
|
11 | ASSERT(str_equals(s, StrFromC("")));
|
12 |
|
13 | s = os_path::rstrip_slashes(StrFromC("foo"));
|
14 | ASSERT(str_equals(s, StrFromC("foo")));
|
15 |
|
16 | s = os_path::rstrip_slashes(StrFromC("foo/"));
|
17 | ASSERT(str_equals(s, StrFromC("foo")));
|
18 |
|
19 | s = os_path::rstrip_slashes(StrFromC("/foo/"));
|
20 | ASSERT(str_equals(s, StrFromC("/foo")));
|
21 |
|
22 | // special case of not stripping
|
23 | s = os_path::rstrip_slashes(StrFromC("///"));
|
24 | ASSERT(str_equals(s, StrFromC("///")));
|
25 |
|
26 | ASSERT(path_stat::exists(StrFromC("/")));
|
27 | ASSERT(!path_stat::exists(StrFromC("/nonexistent_ZZZ")));
|
28 |
|
29 | PASS();
|
30 | }
|
31 |
|
32 | TEST isdir_test() {
|
33 | ASSERT(path_stat::isdir(StrFromC(".")));
|
34 | ASSERT(path_stat::isdir(StrFromC("/")));
|
35 | PASS();
|
36 | }
|
37 |
|
38 | GREATEST_MAIN_DEFS();
|
39 |
|
40 | int main(int argc, char** argv) {
|
41 | gHeap.Init();
|
42 |
|
43 | GREATEST_MAIN_BEGIN();
|
44 |
|
45 | RUN_TEST(os_path_test);
|
46 | RUN_TEST(isdir_test);
|
47 |
|
48 | gHeap.CleanProcessExit();
|
49 |
|
50 | GREATEST_MAIN_END();
|
51 | return 0;
|
52 | }
|