This source file includes following definitions.
- setup
- teardown
- START_PARAMETRIZED_TEST
- main
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 #define TEST_SUITE_NAME "lib/mcconfig"
27
28 #include "tests/mctest.h"
29
30 #include "lib/strutil.h"
31 #include "lib/vfs/vfs.h"
32 #include "lib/fileloc.h"
33
34 #include "lib/mcconfig.h"
35 #include "src/vfs/local/local.c"
36
37 #define HOME_DIR "/home/testuser"
38
39 #define CONF_MAIN HOME_DIR PATH_SEP_STR ".config"
40 #define CONF_DATA HOME_DIR PATH_SEP_STR ".local" PATH_SEP_STR "share"
41 #define CONF_CACHE HOME_DIR PATH_SEP_STR ".cache"
42
43
44
45
46 static void
47 setup (void)
48 {
49 g_setenv ("HOME", HOME_DIR, TRUE);
50 g_setenv ("XDG_CONFIG_HOME", CONF_MAIN, TRUE);
51 g_setenv ("XDG_DATA_HOME", CONF_DATA, TRUE);
52 g_setenv ("XDG_CACHE_HOME", CONF_CACHE, TRUE);
53 str_init_strings ("UTF-8");
54 vfs_init ();
55 vfs_init_localfs ();
56 }
57
58
59
60
61 static void
62 teardown (void)
63 {
64 vfs_shut ();
65 str_uninit_strings ();
66 }
67
68
69
70
71 static const struct test_user_config_paths_ds
72 {
73 const char *input_base_dir;
74 const char *input_file_name;
75 } test_user_config_paths_ds[] = {
76 { CONF_MAIN, MC_CONFIG_FILE },
77 { CONF_MAIN, MC_FHL_INI_FILE },
78 { CONF_MAIN, MC_HOTLIST_FILE },
79 { CONF_MAIN, GLOBAL_KEYMAP_FILE },
80 { CONF_MAIN, MC_USERMENU_FILE },
81 { CONF_DATA, EDIT_SYNTAX_FILE },
82 { CONF_MAIN, EDIT_HOME_MENU },
83 { CONF_MAIN, MC_PANELS_FILE },
84 { CONF_MAIN, MC_EXT_FILE },
85 { CONF_DATA, MC_SKINS_DIR },
86 { CONF_DATA, VFS_SHELL_PREFIX },
87
88 { CONF_DATA, MC_ASHRC_CUSTOM_PROFILE_FILE },
89 { CONF_DATA, MC_BASHRC_CUSTOM_PROFILE_FILE },
90 { CONF_DATA, MC_KSHRC_CUSTOM_PROFILE_FILE },
91 { CONF_DATA, MC_MKSHRC_CUSTOM_PROFILE_FILE },
92 { CONF_DATA, MC_ZSHRC_CUSTOM_PROFILE_FILE },
93
94 { CONF_DATA, MC_INPUTRC_FILE },
95
96 { CONF_DATA, MC_EXTFS_DIR },
97 { CONF_DATA, MC_HISTORY_FILE },
98 { CONF_DATA, MC_FILEPOS_FILE },
99 { CONF_DATA, EDIT_HOME_CLIP_FILE },
100 { CONF_DATA, MC_MACRO_FILE },
101 { CONF_CACHE, "mc.log" },
102 { CONF_CACHE, MC_TREESTORE_FILE },
103 { CONF_CACHE, EDIT_HOME_TEMP_FILE },
104 { CONF_CACHE, EDIT_HOME_BLOCK_FILE },
105 };
106
107
108 START_PARAMETRIZED_TEST (test_user_config_paths, test_user_config_paths_ds)
109 {
110
111 char *actual_result;
112
113
114 actual_result = mc_config_get_full_path (data->input_file_name);
115
116
117 {
118 char *expected_file_path;
119
120 expected_file_path = g_build_filename (data->input_base_dir, MC_USERCONF_DIR,
121 data->input_file_name, (char *) NULL);
122 mctest_assert_str_eq (actual_result, expected_file_path);
123 g_free (expected_file_path);
124 }
125 g_free (actual_result);
126 }
127 END_PARAMETRIZED_TEST
128
129
130
131 int
132 main (void)
133 {
134 TCase *tc_core;
135
136 tc_core = tcase_create ("Core");
137
138 tcase_add_checked_fixture (tc_core, setup, teardown);
139
140
141 mctest_add_parameterized_test (tc_core, test_user_config_paths, test_user_config_paths_ds);
142
143
144 return mctest_run_all (tc_core);
145 }
146
147