2 lib/vfs - manipulations with temp files and dirs
5 The Free Software Foundation, Inc.
8 Slava Zanko <slavazanko@gmail.com>, 2012
10 This file is part of the Midnight Commander.
12 The Midnight Commander is free software: you can redistribute it
13 and/or modify it under the terms of the GNU General Public License as
14 published by the Free Software Foundation, either version 3 of the License,
15 or (at your option) any later version.
17 The Midnight Commander is distributed in the hope that it will be useful,
18 but WITHOUT ANY WARRANTY; without even the implied warranty of
19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 GNU General Public License for more details.
22 You should have received a copy of the GNU General Public License
23 along with this program. If not, see <http://www.gnu.org/licenses/>.
26 #define TEST_SUITE_NAME "/lib/vfs"
32 #include "lib/global.c"
35 #define HAVE_CHARSET 1
38 #include "lib/charsets.h"
40 #include "lib/strutil.h"
41 #include "lib/vfs/xdirentry.h"
42 #include "lib/vfs/path.h"
44 #include "src/vfs/local/local.c"
47 struct vfs_s_subclass test_subclass1
, test_subclass2
, test_subclass3
;
48 struct vfs_class vfs_test_ops1
, vfs_test_ops2
, vfs_test_ops3
;
53 str_init_strings (NULL
);
57 vfs_setup_work_dir ();
64 str_uninit_strings ();
67 /* --------------------------------------------------------------------------------------------- */
68 START_TEST (test_mc_tmpdir
)
71 const char *env_tmpdir
;
75 g_file_test (tmpdir
, G_FILE_TEST_EXISTS
| G_FILE_TEST_IS_DIR
),
76 "\nNo such directory: %s\n", tmpdir
79 env_tmpdir
= g_getenv ("MC_TMPDIR");
81 strcmp (env_tmpdir
, tmpdir
) == 0,
82 "\nenv_tmpdir=%s\n tmpdir=%s\n", env_tmpdir
, tmpdir
87 START_TEST (test_mc_mkstemps
)
89 vfs_path_t
*pname_vpath
= NULL
;
94 fd
= mc_mkstemps (&pname_vpath
, "mctest-", NULL
);
97 fail ("\nerror creating temp file!\n");
99 pname
= vfs_path_to_str (pname_vpath
);
100 vfs_path_free (pname_vpath
);
104 g_file_test (pname
, G_FILE_TEST_EXISTS
| G_FILE_TEST_IS_REGULAR
),
105 "\nNo such file: %s\n", pname
109 begin_pname
= g_build_filename (mc_tmpdir(), "mctest-", NULL
);
111 strncmp(pname
, begin_pname
, strlen(begin_pname
)) == 0,
112 "\nstart of %s should be equal to %s\n", pname
, begin_pname
118 /* --------------------------------------------------------------------------------------------- */
125 Suite
*s
= suite_create (TEST_SUITE_NAME
);
126 TCase
*tc_core
= tcase_create ("Core");
129 tcase_add_checked_fixture (tc_core
, setup
, teardown
);
131 /* Add new tests here: *************** */
132 tcase_add_test (tc_core
, test_mc_tmpdir
);
133 tcase_add_test (tc_core
, test_mc_mkstemps
);
134 /* *********************************** */
136 suite_add_tcase (s
, tc_core
);
137 sr
= srunner_create (s
);
138 srunner_set_log (sr
, "tempdir.log");
139 srunner_run_all (sr
, CK_NORMAL
);
140 number_failed
= srunner_ntests_failed (sr
);
142 return (number_failed
== 0) ? 0 : 1;
145 /* --------------------------------------------------------------------------------------------- */