File tests/fileops/size.c changed (mode: 100644) (index efe518a50..1408a4cda) |
1 |
1 |
#include <stic.h> |
#include <stic.h> |
2 |
2 |
|
|
3 |
3 |
#include <sys/stat.h> /* stat */ |
#include <sys/stat.h> /* stat */ |
4 |
|
#include <unistd.h> /* rmdir() unlink() */ |
|
|
4 |
|
#include <unistd.h> /* rmdir() symlink() unlink() */ |
5 |
5 |
|
|
6 |
6 |
#include <string.h> /* strcpy() strdup() */ |
#include <string.h> /* strcpy() strdup() */ |
7 |
7 |
#include <time.h> /* time_t */ |
#include <time.h> /* time_t */ |
8 |
8 |
|
|
9 |
9 |
#include "../../src/cfg/config.h" |
#include "../../src/cfg/config.h" |
|
10 |
|
#include "../../src/compat/fs_limits.h" |
10 |
11 |
#include "../../src/compat/os.h" |
#include "../../src/compat/os.h" |
11 |
12 |
#include "../../src/utils/dynarray.h" |
#include "../../src/utils/dynarray.h" |
|
13 |
|
#include "../../src/utils/fs.h" |
12 |
14 |
#include "../../src/filelist.h" |
#include "../../src/filelist.h" |
13 |
15 |
#include "../../src/fops_misc.h" |
#include "../../src/fops_misc.h" |
14 |
16 |
#include "../../src/status.h" |
#include "../../src/status.h" |
|
... |
... |
TEST(changed_directory_detected_on_size_calculation, IF(not_windows)) |
79 |
81 |
assert_success(rmdir(SANDBOX_PATH "/dir")); |
assert_success(rmdir(SANDBOX_PATH "/dir")); |
80 |
82 |
} |
} |
81 |
83 |
|
|
|
84 |
|
TEST(symlinks_to_dirs, IF(not_windows)) |
|
85 |
|
{ |
|
86 |
|
create_empty_dir(SANDBOX_PATH "/dir"); |
|
87 |
|
|
|
88 |
|
char cwd[PATH_MAX + 1]; |
|
89 |
|
get_cwd(cwd, sizeof(cwd)); |
|
90 |
|
char dir[PATH_MAX + 1]; |
|
91 |
|
make_abs_path(dir, sizeof(dir), TEST_DATA_PATH, "various-sizes", cwd); |
|
92 |
|
/* symlink() is not available on Windows, but the rest of the code is fine. */ |
|
93 |
|
#ifndef _WIN32 |
|
94 |
|
assert_success(symlink(dir, SANDBOX_PATH "/link")); |
|
95 |
|
#endif |
|
96 |
|
|
|
97 |
|
view_setup(&lwin); |
|
98 |
|
set_to_sandbox_path(lwin.curr_dir, sizeof(lwin.curr_dir)); |
|
99 |
|
populate_dir_list(&lwin, 0); |
|
100 |
|
assert_int_equal(2, lwin.list_rows); |
|
101 |
|
lwin.dir_entry[0].marked = 1; |
|
102 |
|
lwin.dir_entry[1].marked = 1; |
|
103 |
|
lwin.pending_marking = 1; |
|
104 |
|
|
|
105 |
|
fops_size_bg(&lwin, 0); |
|
106 |
|
assert_int_equal(0, wait_for_size(SANDBOX_PATH "/dir")); |
|
107 |
|
assert_int_equal(73728, wait_for_size(SANDBOX_PATH "/link")); |
|
108 |
|
|
|
109 |
|
view_teardown(&lwin); |
|
110 |
|
assert_success(unlink(SANDBOX_PATH "/link")); |
|
111 |
|
assert_success(rmdir(SANDBOX_PATH "/dir")); |
|
112 |
|
} |
|
113 |
|
|
82 |
114 |
static void |
static void |
83 |
115 |
setup_single_entry(view_t *view, const char name[]) |
setup_single_entry(view_t *view, const char name[]) |
84 |
116 |
{ |
{ |