Commit Graph

275 Commits

Author SHA1 Message Date
Slava Zanko 1bd438923d Code refactoring in tests.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-03-09 16:04:19 +04:00
Slava Zanko 063d5a134f Code refactoring in tests.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-03-09 16:04:18 +04:00
Slava Zanko c984447f8e Rename vfs_path_cmp() to vfs_path_equals()
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-03-09 16:04:18 +04:00
Andrew Borodin 8454f12f8f Ticket #2954: fix typo: occured -> occurred.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-03-09 16:04:18 +04:00
Slava Zanko 61fb6e33b3 Code refactoring in tests.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-03-09 16:04:18 +04:00
Slava Zanko 0e3550594f Create tests/mctest.h with useful inline macros
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-03-09 16:04:18 +04:00
Slava Zanko 5f99213a5e Ticket #2944: Prepare for release mc-4.8.8
Code indentation in tests.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-03-09 16:04:17 +04:00
Slava Zanko 278178093e Add support of reading parameters for external editor/viewer from main config.
for example, the config file may contain strings:

[External editor or viewer parameters]
    vim = %filename +%lineno
    mcedit = %filename:%lineno

And these external editors will open a file at the previously saved position.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:40:37 +03:00
Slava Zanko 808988b1f1 Add lib/strutil/replace:str_replace_all() function.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:40:37 +03:00
Slava Zanko 2a2bc56221 Add src/execute.c:execute_external_editor_or_viewer() function.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:39:33 +03:00
Slava Zanko f43b83e7ee Add tests for src/execute.c:execute_with_vfs_arg() function.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:39:33 +03:00
Slava Zanko c2f030f2e8 Add new functions:
* int my_systeml (int flags, const char *shell, ...);
 * int my_systemv (const char *command, char *const argv[]);

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:39:33 +03:00
Slava Zanko 254aa70ac8 Add tests for lib/utilunix.c:my_system() function
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-16 17:39:32 +03:00
Andrew Borodin 0c52b2bad6 Add tests for mc_search__translate_replace_glob_to_regex() function.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-02-14 14:30:38 +04:00
Slava Zanko f7109ab46b Fix for input completions with spaces in names.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-04 15:48:21 +03:00
Slava Zanko f866709186 Concretize the usage of autocompliting in different input fields.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-04 15:48:21 +03:00
Slava Zanko 9935acea33 Ticket #55: savannah: tab completion vs. spaces and escaping
* Split big functions.
* Add unit tests

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-02-04 15:29:15 +03:00
Slava Zanko ee8aaf6181 Avoid compiler errors like: error: variable 'xxx' set but not used [-Werror=unused-but-set-variable]
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-01-17 15:21:35 +03:00
Andrew Borodin 9423f3f080 Avoid C++-style comments.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-01-16 14:34:11 +04:00
Slava Zanko e13437d950 (exec_get_export_variables_ext): use g_new0() for stable test results.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-12-20 15:35:40 +04:00
Slava Zanko a1dd199723 Fixes in exec_get_export_variables_ext test
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-12-20 13:48:26 +03:00
Slava Zanko 076e53550d Fixed exec_get_export_variables_ext test
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-12-20 13:13:40 +03:00
Slava Zanko 5e633c7ca1 Ticket #2883: non-portable test
Test has been rewritten for support actuality.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-12-20 12:48:42 +03:00
Andrew Borodin 60727b9b79 Clarify usage of AM_CPPFLAGS.
Use AM_CPPFLAGS not AM_CFLAGS for includes. GLIB_CFLAGS are CPPFLAGS, actually.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-12-18 16:27:49 +04:00
Slava Zanko 467677ee6a Added tests for name_quote function.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-11-29 13:20:47 +03:00
Slava Zanko f115ac627f exec_get_export_variables(): reproduce bug in test
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-11-29 13:20:47 +03:00
Slava Zanko 6bdf50c5a5 Ticket #2913: CVE-2012-4463 mc-4.8.5: Does not sanitize MC_EXT_SELECTED variable properly
Paul Hartman reported the following (minor) security flaw into Gentoo's bugzilla:

https://bugs.gentoo.org/show_bug.cgi?id=436518

When multiple files are selected and F3 / Enter key is pressed on some of the files,
MC_EXT_SELECTED variable does not sanitize the whitespace characters properly
(leading into situation when first file is used as the actual value of MC_EXT_SELECTED
variable and the remaining files from the list are used as arguments passed to the
temporary script, created to handle F3 / Enter action on the first file).

A remote attacker could provide a specially-crafted archive and trick the local
Midnight Commander user into expanding and viewing it, which under certain
circumstances could lead to arbitrary code execution with the privileges of
the user running the mc executable.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-11-29 13:20:47 +03:00
Andrew Borodin 42499480bd Ticket #2918: cygwin test failure.
In
tests/lib/mcconfig/Makefile.am
tests/lib/vfs/Makefile.am
tests/src/filemanager/Makefile.am

AM_LDFLAGS = -Wl,-z,muldefs

is used, but on cygwin the linker does not accept the "-z" option and

AM_LDFLAGS = -Wl,--allow-multiple-definition

is required instead.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-11-14 13:32:55 +04:00
Andrew Borodin b2f97443e2 Refactoring of subshell support.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-10-21 18:19:47 +04:00
Slava Zanko bdd4cdbf82 Remove stub environment file from tests
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-10-21 18:19:47 +04:00
Slava Zanko 7668c09879 remove src/main.h file
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-10-21 18:19:46 +04:00
Slava Zanko d6478b8b41 move do_cd from src/main.c to src/filemanager/panel.c
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-10-21 18:19:11 +04:00
Slava Zanko 949d257f37 Ticket #2791: Fixed: cannot Copy/Move files with filename encoding change
Steps to reproduce:
 * run mc
 * change encoding one of panels to any different from system encoding
 * try to copy any file to panel with changed encoding

Expected result: files should be copied.

Actual result: error box here.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-08-29 13:30:28 +03:00
Andrew Borodin 908e747861 Optimization of ini files load.
Some ini files (keymaps, skins) are loaded in read-only mode. For those
files, we don't need load and keep comments.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-07-31 14:50:11 +04:00
Andrew Borodin b37af47023 Makefile.ams cleanup.
Set defines via CPPFLAGS variable not via CFLAGS one.
Use AM_CPPFLAGS and AM_CFLAGS variables instead of per-target ones.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-07-17 17:04:05 +04:00
Slava Zanko 6408811e18 Ticket #2803: fixed bug do_panel_cd: FTBFS with --enable-tests on [kfreebsd-i386,kfreebsd-amd64,ia64,armhf]
One of the panel tests fail if build environment doesn't contain the home user directory.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-06-29 13:02:30 +03:00
Andrew Borodin af3dd96e7b Tests tweak and cleanup in case of --disable-charset option usage.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-06-25 17:00:02 +04:00
Slava Zanko ca4e66d174 Ticket #2804: fixed defect: path_cmp: FTBFS with --enable-tests on [powerpc,s390,s390x]
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-06-06 16:02:30 +03:00
Andrew Borodin c1f2a8ac49 Clean up stuff that is not used anymore.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-06-05 13:06:27 +04:00
Andrew Borodin 41f7e490ea Ticket #2786: added forgotten test source file.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-04-25 19:07:48 +03:00
Andrew Borodin 1c05ebf8b9 (do_load_dir): use vfs_path_t as a path handle.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-04-22 11:25:11 +03:00
Slava Zanko 4184555b82 Ticket #2760: The password for session ftp remains in input history
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-04-12 22:31:20 +03:00
Sergei Trofimovich 41d093afaf Ticket #2768 ('make check' failed)
tests/.../do_panel_cd.c: fix test when 'HOME' contains trailing slashes.

Steps to reproduce:

    $ HOME=${HOME}/ make check
    Running suite(s): /src/filemanager
    cwd=/subvolumes/var_tmp/paludis/app-misc-mc-9999/temp
    mc_config_get_home_dir ()=/subvolumes/var_tmp/paludis/app-misc-mc-9999/temp/
    0%: Checks: 1, Failures: 1, Errors: 0
    do_panel_cd.c:86:F:Core:test_do_panel_cd_empty_mean_home:0: Assertion 'ret' failed

The patch adds home dir path normalization.

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2012-04-02 20:22:27 +03:00
Sergei Trofimovich 6d3b90247b tests/.../do_panel_cd.c: show patch mismath on test failure
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2012-03-31 22:10:40 +03:00
Slava Zanko 88483f5fac Fixed creating string from relative non-local VFS.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-25 15:28:45 +03:00
Slava Zanko ecda2061f2 Ticket #2758: cd command not working in shell link
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-25 15:28:45 +03:00
Slava Zanko af1f37b967 fixup! Added tests for examine_cd() function. 2012-03-06 11:52:32 +03:00
Slava Zanko 05d220a9c6 vfs_path: Fixed broken relative paths processing.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-06 11:52:31 +03:00
Slava Zanko a8da7179d0 Return values of following functions are constants now:
* vfs_path_get_last_path_str()
  * vfs_path_get_last_path_vfs()
  * vfs_path_get_by_index()
  * vfs_class_find_by_handle()

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-03-06 11:52:31 +03:00
Slava Zanko c9af137914 Changed lot of functions in src/ directory
...to handle vfs_path_t objects.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-06 11:52:31 +03:00
Slava Zanko 2b5c28b316 Changes to handle vfs_path_t object:
* removed strip_password () function;
 * Added new vfs_path flag: VPF_HIDE_CHARSET;
 * added vfs_path_add_element() function.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-06 11:52:31 +03:00
Slava Zanko 18d8b06238 VFS: Added new function vfs_path_to_str_flags()
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-06 11:52:31 +03:00
Slava Zanko 4dde82c5be Changed do_cd() and do_panel() functions
...to handle vfs_path_t objects.

Changed panelized_panel_t.root type to vfs_path_t.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-06 11:52:30 +03:00
Slava Zanko a3a1e7937f Added unit test for do_panel_cd() functions.
Check if empty directory is mean 'change current directory to home dir'.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-06 11:52:30 +03:00
Slava Zanko ddf8c542c9 Added function vfs_path_cmp()
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-06 11:45:51 +03:00
Slava Zanko b319ddfbab Added vfs_path_cmp() ans vfs_path_ncmp() functions
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-06 11:45:51 +03:00
Slava Zanko 0aa10fd6cb Changed type of WPanel::cwd (char *) and WPanel::lwd (char *)
...to WPanel::cwd_vpath (vfs_path_tr *) and WPanel::lwd_vpath (vfs_path_t *).

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-06 11:45:50 +03:00
Slava Zanko 66e5af24d9 Added new fnction for manipulate vpath objects:
* vfs_path_append_vpath_new ()
 * vfs_path_vtokens_get ()

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-06 11:41:26 +03:00
Slava Zanko a34a3b3aa5 Added vfs_path_tokens_count() and vfs_path_tokens_get() functions
...for easy work with vfs_path_t tokens.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-06 11:41:26 +03:00
Slava Zanko 389ac85992 Changed input parameters of mc_mkstemp() and mc_tempdir() functions
to handle vfs_path_t type.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-06 11:41:26 +03:00
Slava Zanko f2dc217060 Added unit-tests for mc_tmpdir() and mc_mkstemps() functions
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-06 11:41:25 +03:00
Slava Zanko 8ec4f94dc6 changed interface of function mc_chdir() for handle vfs_path_t object as parameter
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2012-03-06 11:33:12 +03:00
Andrew Borodin ec476d0b88 Added tests for examine_cd() function.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2012-02-24 09:39:04 +03:00
Sergei Trofimovich 931819039e Ticket #2732: fix vfs test build failure on alpha
The test fails to compile on alpha:

>  CC     vfs_parse_ls_lga.o
> vfs_parse_ls_lga.c: In function ‘test_vfs_parse_ls_lga’:
> vfs_parse_ls_lga.c:174:9: error: unknown field ‘st_atime’ specified in initializer
> vfs_parse_ls_lga.c:175:9: error: unknown field ‘st_mtime’ specified in initializer

as st_atime on alpha in not just a field name:

struct stat {
...
    __extension__ union { struct timespec st_atim; struct { __time_t st_atime; unsigned long st_atimensec; }; };
    __extension__ union { struct timespec st_mtim; struct { __time_t st_mtime; unsigned long st_mtimensec; }; };
    __extension__ union { struct timespec st_ctim; struct { __time_t st_ctime; unsigned long st_ctimensec; }; };
};

The fix switches to old-style struct initialization.

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2012-02-13 14:18:31 +03:00
Sergei Trofimovich 3e4d6d6b76 Ticket #2732: tests/lib/vfs/Makefile.am: drop muldefs from CFLAGS
Otherwise gcc on alpha/arm will break in gcc -c phase:

      CC     config_string.o
    armv5tel-softfloat-linux-gnueabi-gcc <skip>  -z muldefs -c config_string.c
    armv5tel-softfloat-linux-gnueabi-gcc: muldefs: No such file or directory
    make[4]: *** [config_string.o] Error 1

Gentoo-bug: http://bugs.gentoo.org/403343
Reported-by: Markus Meier
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2012-02-13 14:18:16 +03:00
Slava Zanko 162a330f42 Added unit test for mc_config_get_full_path() function
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2011-12-06 16:24:10 +03:00
Slava Zanko 490711fca7 Added forgotten file to distribution for tests
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2011-10-19 15:06:40 +03:00
Slava Zanko 0138645541 Ticket 1551: Update GPL version from 2 to 3
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2011-10-18 14:08:34 +03:00
Slava Zanko 4e295b261b vfs_parse_ls_lga: The checks for timestamp is commented out.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2011-10-18 13:36:06 +03:00
Slava Zanko 1759de7cd5 Include config.h to all test's files
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2011-10-17 15:15:15 +03:00
Slava Zanko d5e6dceed8 vfs_parse_ls_lga: Make tests output more verbose
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2011-10-17 14:57:28 +03:00
Andrew Borodin 79023b26a4 (mc_build_filename): incorrect processing of first element of path.
If first element is relative, the result path should be also relative
not absolute.

If first element is empty, the result path is relative.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2011-10-17 13:30:03 +03:00
Slava Zanko 12dfe1bd55 VFS ftpfs: fixed broken filenames in unaligned 'ls' command output
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2011-09-08 20:10:48 +03:00
Slava Zanko 20a79d52ab Ticket #2595: Broken panels recode in current master
Fixed path recoding

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2011-09-08 13:50:02 +03:00
Slava Zanko d3bb9de01f Ticket 2570: Code cleanup
Moved tests from lib/tests to tests/lib directory

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2011-07-11 20:23:44 +03:00