mirror of
https://github.com/MidnightCommander/mc
synced 2025-01-03 10:04:32 +03:00
tests: re-implement mocking via weak symbols instead of symbol duplication
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
This commit is contained in:
parent
449917f5a4
commit
bcf3b8c37c
@ -65,6 +65,7 @@ dnl which causes attribute checks to fail
|
|||||||
ax_gcc_func_attribute_save_flags=$[]_AC_LANG_PREFIX[]FLAGS
|
ax_gcc_func_attribute_save_flags=$[]_AC_LANG_PREFIX[]FLAGS
|
||||||
_AC_LANG_PREFIX[]FLAGS=
|
_AC_LANG_PREFIX[]FLAGS=
|
||||||
AX_GCC_FUNC_ATTRIBUTE([fallthrough])
|
AX_GCC_FUNC_ATTRIBUTE([fallthrough])
|
||||||
|
AX_GCC_FUNC_ATTRIBUTE([weak])
|
||||||
_AC_LANG_PREFIX[]FLAGS=$ax_gcc_func_attribute_save_flags
|
_AC_LANG_PREFIX[]FLAGS=$ax_gcc_func_attribute_save_flags
|
||||||
unset ax_gcc_func_attribute_save_flags
|
unset ax_gcc_func_attribute_save_flags
|
||||||
|
|
||||||
|
@ -8,6 +8,13 @@
|
|||||||
#define MC_GLOBAL_H
|
#define MC_GLOBAL_H
|
||||||
|
|
||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
|
|
||||||
|
#if defined(HAVE_FUNC_ATTRIBUTE_WEAK) && defined(HAVE_TESTS)
|
||||||
|
#define MC_MOCKABLE __attribute__((weak))
|
||||||
|
#else
|
||||||
|
#define MC_MOCKABLE
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "glibcompat.h"
|
#include "glibcompat.h"
|
||||||
|
|
||||||
#include "unixcompat.h"
|
#include "unixcompat.h"
|
||||||
|
@ -53,8 +53,8 @@ gchar **mc_config_get_keys (const mc_config_t * mc_config, const gchar * group,
|
|||||||
|
|
||||||
gchar *mc_config_get_string (mc_config_t * mc_config, const gchar * group, const gchar * param,
|
gchar *mc_config_get_string (mc_config_t * mc_config, const gchar * group, const gchar * param,
|
||||||
const gchar * def);
|
const gchar * def);
|
||||||
gchar *mc_config_get_string_raw (mc_config_t * mc_config, const gchar * group, const gchar * param,
|
MC_MOCKABLE gchar *mc_config_get_string_raw (mc_config_t * mc_config, const gchar * group,
|
||||||
const gchar * def);
|
const gchar * param, const gchar * def);
|
||||||
gboolean mc_config_get_bool (mc_config_t * mc_config, const gchar * group, const gchar * param,
|
gboolean mc_config_get_bool (mc_config_t * mc_config, const gchar * group, const gchar * param,
|
||||||
gboolean def);
|
gboolean def);
|
||||||
int mc_config_get_int (mc_config_t * mc_config, const gchar * group, const gchar * param, int def);
|
int mc_config_get_int (mc_config_t * mc_config, const gchar * group, const gchar * param, int def);
|
||||||
@ -96,7 +96,7 @@ void mc_config_deinit_config_paths (void);
|
|||||||
|
|
||||||
const char *mc_config_get_data_path (void);
|
const char *mc_config_get_data_path (void);
|
||||||
const char *mc_config_get_cache_path (void);
|
const char *mc_config_get_cache_path (void);
|
||||||
const char *mc_config_get_home_dir (void);
|
MC_MOCKABLE const char *mc_config_get_home_dir (void);
|
||||||
const char *mc_config_get_path (void);
|
const char *mc_config_get_path (void);
|
||||||
char *mc_config_get_full_path (const char *config_name);
|
char *mc_config_get_full_path (const char *config_name);
|
||||||
vfs_path_t *mc_config_get_full_vpath (const char *config_name);
|
vfs_path_t *mc_config_get_full_vpath (const char *config_name);
|
||||||
|
@ -41,6 +41,7 @@
|
|||||||
|
|
||||||
#include "lib/global.h"
|
#include "lib/global.h"
|
||||||
#include "lib/strutil.h" /* str_term_form */
|
#include "lib/strutil.h" /* str_term_form */
|
||||||
|
#include "lib/util.h"
|
||||||
|
|
||||||
#ifndef WANT_TERM_H
|
#ifndef WANT_TERM_H
|
||||||
#define WANT_TERM_H
|
#define WANT_TERM_H
|
||||||
@ -102,7 +103,7 @@ tty_setup_sigwinch (void (*handler) (int))
|
|||||||
#ifdef SA_RESTART
|
#ifdef SA_RESTART
|
||||||
act.sa_flags = SA_RESTART;
|
act.sa_flags = SA_RESTART;
|
||||||
#endif /* SA_RESTART */
|
#endif /* SA_RESTART */
|
||||||
sigaction (SIGWINCH, &act, &oact);
|
my_sigaction (SIGWINCH, &act, &oact);
|
||||||
#endif /* SIGWINCH */
|
#endif /* SIGWINCH */
|
||||||
|
|
||||||
tty_create_winch_pipe ();
|
tty_create_winch_pipe ();
|
||||||
|
@ -53,6 +53,7 @@
|
|||||||
|
|
||||||
#include "lib/global.h"
|
#include "lib/global.h"
|
||||||
#include "lib/strutil.h"
|
#include "lib/strutil.h"
|
||||||
|
#include "lib/util.h"
|
||||||
|
|
||||||
#include "tty.h"
|
#include "tty.h"
|
||||||
#include "tty-internal.h"
|
#include "tty-internal.h"
|
||||||
@ -146,7 +147,7 @@ tty_start_interrupt_key (void)
|
|||||||
#ifdef SA_RESTART
|
#ifdef SA_RESTART
|
||||||
act.sa_flags = SA_RESTART;
|
act.sa_flags = SA_RESTART;
|
||||||
#endif /* SA_RESTART */
|
#endif /* SA_RESTART */
|
||||||
sigaction (SIGINT, &act, NULL);
|
my_sigaction (SIGINT, &act, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------- */
|
/* --------------------------------------------------------------------------------------------- */
|
||||||
@ -159,7 +160,7 @@ tty_enable_interrupt_key (void)
|
|||||||
memset (&act, 0, sizeof (act));
|
memset (&act, 0, sizeof (act));
|
||||||
act.sa_handler = sigintr_handler;
|
act.sa_handler = sigintr_handler;
|
||||||
sigemptyset (&act.sa_mask);
|
sigemptyset (&act.sa_mask);
|
||||||
sigaction (SIGINT, &act, NULL);
|
my_sigaction (SIGINT, &act, NULL);
|
||||||
got_interrupt = 0;
|
got_interrupt = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -173,7 +174,7 @@ tty_disable_interrupt_key (void)
|
|||||||
memset (&act, 0, sizeof (act));
|
memset (&act, 0, sizeof (act));
|
||||||
act.sa_handler = SIG_IGN;
|
act.sa_handler = SIG_IGN;
|
||||||
sigemptyset (&act.sa_mask);
|
sigemptyset (&act.sa_mask);
|
||||||
sigaction (SIGINT, &act, NULL);
|
my_sigaction (SIGINT, &act, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------- */
|
/* --------------------------------------------------------------------------------------------- */
|
||||||
|
16
lib/util.h
16
lib/util.h
@ -126,6 +126,11 @@ typedef struct
|
|||||||
mc_pipe_stream_t err;
|
mc_pipe_stream_t err;
|
||||||
} mc_pipe_t;
|
} mc_pipe_t;
|
||||||
|
|
||||||
|
/* sighandler_t is GNU extension */
|
||||||
|
#ifndef HAVE_SIGHANDLER_T
|
||||||
|
typedef void (*sighandler_t) (int);
|
||||||
|
#endif
|
||||||
|
|
||||||
/*** structures declarations (and typedefs of structures)*****************************************/
|
/*** structures declarations (and typedefs of structures)*****************************************/
|
||||||
|
|
||||||
/*** global variables defined in .c file *********************************************************/
|
/*** global variables defined in .c file *********************************************************/
|
||||||
@ -200,6 +205,13 @@ const char *get_owner (uid_t uid);
|
|||||||
/* Returns a copy of *s until a \n is found and is below top */
|
/* Returns a copy of *s until a \n is found and is below top */
|
||||||
const char *extract_line (const char *s, const char *top);
|
const char *extract_line (const char *s, const char *top);
|
||||||
|
|
||||||
|
/* System call wrappers */
|
||||||
|
MC_MOCKABLE sighandler_t my_signal (int signum, sighandler_t handler);
|
||||||
|
MC_MOCKABLE int my_sigaction (int signum, const struct sigaction *act, struct sigaction *oldact);
|
||||||
|
MC_MOCKABLE pid_t my_fork (void);
|
||||||
|
MC_MOCKABLE int my_execvp (const char *file, char *const argv[]);
|
||||||
|
MC_MOCKABLE char *my_get_current_dir (void);
|
||||||
|
|
||||||
/* Process spawning */
|
/* Process spawning */
|
||||||
int my_system (int flags, const char *shell, const char *command);
|
int my_system (int flags, const char *shell, const char *command);
|
||||||
int my_systeml (int flags, const char *shell, ...);
|
int my_systeml (int flags, const char *shell, ...);
|
||||||
@ -212,7 +224,7 @@ void mc_pclose (mc_pipe_t * p, GError ** error);
|
|||||||
|
|
||||||
GString *mc_pstream_get_string (mc_pipe_stream_t * ps);
|
GString *mc_pstream_get_string (mc_pipe_stream_t * ps);
|
||||||
|
|
||||||
void my_exit (int status);
|
MC_MOCKABLE void my_exit (int status);
|
||||||
void save_stop_handler (void);
|
void save_stop_handler (void);
|
||||||
|
|
||||||
/* Tilde expansion */
|
/* Tilde expansion */
|
||||||
@ -249,7 +261,7 @@ gboolean mc_util_make_backup_if_possible (const char *file_name, const char *bac
|
|||||||
gboolean mc_util_restore_from_backup_if_possible (const char *file_name, const char *backup_suffix);
|
gboolean mc_util_restore_from_backup_if_possible (const char *file_name, const char *backup_suffix);
|
||||||
gboolean mc_util_unlink_backup_if_possible (const char *file_name, const char *backup_suffix);
|
gboolean mc_util_unlink_backup_if_possible (const char *file_name, const char *backup_suffix);
|
||||||
|
|
||||||
char *guess_message_value (void);
|
MC_MOCKABLE char *guess_message_value (void);
|
||||||
|
|
||||||
char *mc_build_filename (const char *first_element, ...);
|
char *mc_build_filename (const char *first_element, ...);
|
||||||
char *mc_build_filenamev (const char *first_element, va_list args);
|
char *mc_build_filenamev (const char *first_element, va_list args);
|
||||||
|
@ -137,11 +137,11 @@ i_cache_add (int id, int_cache *cache, int size, char *text, int *last)
|
|||||||
/* --------------------------------------------------------------------------------------------- */
|
/* --------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
static my_fork_state_t
|
static my_fork_state_t
|
||||||
my_fork (void)
|
my_fork_state (void)
|
||||||
{
|
{
|
||||||
pid_t pid;
|
pid_t pid;
|
||||||
|
|
||||||
pid = fork ();
|
pid = my_fork ();
|
||||||
|
|
||||||
if (pid < 0)
|
if (pid < 0)
|
||||||
{
|
{
|
||||||
@ -175,12 +175,12 @@ my_system__save_sigaction_handlers (my_system_sigactions_t *sigactions)
|
|||||||
ignore.sa_handler = SIG_IGN;
|
ignore.sa_handler = SIG_IGN;
|
||||||
sigemptyset (&ignore.sa_mask);
|
sigemptyset (&ignore.sa_mask);
|
||||||
|
|
||||||
sigaction (SIGINT, &ignore, &sigactions->intr);
|
my_sigaction (SIGINT, &ignore, &sigactions->intr);
|
||||||
sigaction (SIGQUIT, &ignore, &sigactions->quit);
|
my_sigaction (SIGQUIT, &ignore, &sigactions->quit);
|
||||||
|
|
||||||
/* Restore the original SIGTSTP handler, we don't want ncurses' */
|
/* Restore the original SIGTSTP handler, we don't want ncurses' */
|
||||||
/* handler messing the screen after the SIGCONT */
|
/* handler messing the screen after the SIGCONT */
|
||||||
sigaction (SIGTSTP, &startup_handler, &sigactions->stop);
|
my_sigaction (SIGTSTP, &startup_handler, &sigactions->stop);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------- */
|
/* --------------------------------------------------------------------------------------------- */
|
||||||
@ -188,9 +188,9 @@ my_system__save_sigaction_handlers (my_system_sigactions_t *sigactions)
|
|||||||
static void
|
static void
|
||||||
my_system__restore_sigaction_handlers (my_system_sigactions_t *sigactions)
|
my_system__restore_sigaction_handlers (my_system_sigactions_t *sigactions)
|
||||||
{
|
{
|
||||||
sigaction (SIGINT, &sigactions->intr, NULL);
|
my_sigaction (SIGINT, &sigactions->intr, NULL);
|
||||||
sigaction (SIGQUIT, &sigactions->quit, NULL);
|
my_sigaction (SIGQUIT, &sigactions->quit, NULL);
|
||||||
sigaction (SIGTSTP, &sigactions->stop, NULL);
|
my_sigaction (SIGTSTP, &sigactions->stop, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------- */
|
/* --------------------------------------------------------------------------------------------- */
|
||||||
@ -329,7 +329,7 @@ get_group (gid_t gid)
|
|||||||
void
|
void
|
||||||
save_stop_handler (void)
|
save_stop_handler (void)
|
||||||
{
|
{
|
||||||
sigaction (SIGTSTP, NULL, &startup_handler);
|
my_sigaction (SIGTSTP, NULL, &startup_handler);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------- */
|
/* --------------------------------------------------------------------------------------------- */
|
||||||
@ -348,6 +348,61 @@ my_exit (int status)
|
|||||||
_exit (status);
|
_exit (status);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* --------------------------------------------------------------------------------------------- */
|
||||||
|
/**
|
||||||
|
* Wrapper for signal() system call.
|
||||||
|
*/
|
||||||
|
|
||||||
|
sighandler_t
|
||||||
|
my_signal (int signum, sighandler_t handler)
|
||||||
|
{
|
||||||
|
return signal (signum, handler);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --------------------------------------------------------------------------------------------- */
|
||||||
|
/**
|
||||||
|
* Wrapper for sigaction() system call.
|
||||||
|
*/
|
||||||
|
|
||||||
|
int
|
||||||
|
my_sigaction (int signum, const struct sigaction *act, struct sigaction *oldact)
|
||||||
|
{
|
||||||
|
return sigaction (signum, act, oldact);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --------------------------------------------------------------------------------------------- */
|
||||||
|
/**
|
||||||
|
* Wrapper for fork() system call.
|
||||||
|
*/
|
||||||
|
|
||||||
|
pid_t
|
||||||
|
my_fork (void)
|
||||||
|
{
|
||||||
|
return fork ();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --------------------------------------------------------------------------------------------- */
|
||||||
|
/**
|
||||||
|
* Wrapper for execvp() system call.
|
||||||
|
*/
|
||||||
|
|
||||||
|
int
|
||||||
|
my_execvp (const char *file, char *const argv[])
|
||||||
|
{
|
||||||
|
return execvp (file, argv);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --------------------------------------------------------------------------------------------- */
|
||||||
|
/**
|
||||||
|
* Wrapper for g_get_current_dir() library function.
|
||||||
|
*/
|
||||||
|
|
||||||
|
char *
|
||||||
|
my_get_current_dir (void)
|
||||||
|
{
|
||||||
|
return g_get_current_dir ();
|
||||||
|
}
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------- */
|
/* --------------------------------------------------------------------------------------------- */
|
||||||
/**
|
/**
|
||||||
* Call external programs.
|
* Call external programs.
|
||||||
@ -422,7 +477,7 @@ my_systemv (const char *command, char *const argv[])
|
|||||||
|
|
||||||
my_system__save_sigaction_handlers (&sigactions);
|
my_system__save_sigaction_handlers (&sigactions);
|
||||||
|
|
||||||
fork_state = my_fork ();
|
fork_state = my_fork_state ();
|
||||||
switch (fork_state)
|
switch (fork_state)
|
||||||
{
|
{
|
||||||
case FORK_ERROR:
|
case FORK_ERROR:
|
||||||
@ -430,12 +485,12 @@ my_systemv (const char *command, char *const argv[])
|
|||||||
break;
|
break;
|
||||||
case FORK_CHILD:
|
case FORK_CHILD:
|
||||||
{
|
{
|
||||||
signal (SIGINT, SIG_DFL);
|
my_signal (SIGINT, SIG_DFL);
|
||||||
signal (SIGQUIT, SIG_DFL);
|
my_signal (SIGQUIT, SIG_DFL);
|
||||||
signal (SIGTSTP, SIG_DFL);
|
my_signal (SIGTSTP, SIG_DFL);
|
||||||
signal (SIGCHLD, SIG_DFL);
|
my_signal (SIGCHLD, SIG_DFL);
|
||||||
|
|
||||||
execvp (command, argv);
|
my_execvp (command, argv);
|
||||||
my_exit (127); /* Exec error */
|
my_exit (127); /* Exec error */
|
||||||
}
|
}
|
||||||
MC_FALLTHROUGH;
|
MC_FALLTHROUGH;
|
||||||
@ -1036,7 +1091,7 @@ mc_realpath (const char *path, char *resolved_path)
|
|||||||
/* If it's a relative pathname use getwd for starters. */
|
/* If it's a relative pathname use getwd for starters. */
|
||||||
if (!IS_PATH_SEP (*path))
|
if (!IS_PATH_SEP (*path))
|
||||||
{
|
{
|
||||||
new_path = g_get_current_dir ();
|
new_path = my_get_current_dir ();
|
||||||
if (new_path == NULL)
|
if (new_path == NULL)
|
||||||
strcpy (got_path, "");
|
strcpy (got_path, "");
|
||||||
else
|
else
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
#include <string.h> /* memset() */
|
#include <string.h> /* memset() */
|
||||||
|
|
||||||
#include "lib/global.h"
|
#include "lib/global.h"
|
||||||
|
#include "lib/util.h"
|
||||||
|
|
||||||
#include "netutil.h"
|
#include "netutil.h"
|
||||||
|
|
||||||
@ -75,7 +76,7 @@ tcp_init (void)
|
|||||||
memset (&sa, 0, sizeof (sa));
|
memset (&sa, 0, sizeof (sa));
|
||||||
sa.sa_handler = sig_pipe;
|
sa.sa_handler = sig_pipe;
|
||||||
sigemptyset (&sa.sa_mask);
|
sigemptyset (&sa.sa_mask);
|
||||||
sigaction (SIGPIPE, &sa, NULL);
|
my_sigaction (SIGPIPE, &sa, NULL);
|
||||||
|
|
||||||
initialized = TRUE;
|
initialized = TRUE;
|
||||||
}
|
}
|
||||||
|
@ -43,7 +43,7 @@ vfs_path_element_t *vfs_url_split (const char *path, int default_port, vfs_url_f
|
|||||||
int vfs_split_text (char *p);
|
int vfs_split_text (char *p);
|
||||||
|
|
||||||
int vfs_mkstemps (vfs_path_t ** pname_vpath, const char *prefix, const char *basename);
|
int vfs_mkstemps (vfs_path_t ** pname_vpath, const char *prefix, const char *basename);
|
||||||
void vfs_die (const char *msg);
|
MC_MOCKABLE void vfs_die (const char *msg);
|
||||||
char *vfs_get_password (const char *msg);
|
char *vfs_get_password (const char *msg);
|
||||||
|
|
||||||
char *vfs_get_local_username (void);
|
char *vfs_get_local_username (void);
|
||||||
|
@ -77,10 +77,10 @@ extern vfs_class *current_vfs;
|
|||||||
|
|
||||||
/*** global variables ****************************************************************************/
|
/*** global variables ****************************************************************************/
|
||||||
|
|
||||||
struct vfs_dirent *mc_readdir_result = NULL;
|
MC_MOCKABLE struct vfs_dirent *mc_readdir_result = NULL;
|
||||||
GPtrArray *vfs__classes_list = NULL;
|
MC_MOCKABLE GPtrArray *vfs__classes_list = NULL;
|
||||||
GString *vfs_str_buffer = NULL;
|
MC_MOCKABLE GString *vfs_str_buffer = NULL;
|
||||||
vfs_class *current_vfs = NULL;
|
MC_MOCKABLE vfs_class *current_vfs = NULL;
|
||||||
|
|
||||||
/*** file scope macro definitions ****************************************************************/
|
/*** file scope macro definitions ****************************************************************/
|
||||||
|
|
||||||
@ -642,7 +642,7 @@ vfs_setup_cwd (void)
|
|||||||
|
|
||||||
if (vfs_get_raw_current_dir () == NULL)
|
if (vfs_get_raw_current_dir () == NULL)
|
||||||
{
|
{
|
||||||
current_dir = g_get_current_dir ();
|
current_dir = my_get_current_dir ();
|
||||||
vfs_set_raw_current_dir (vfs_path_from_str (current_dir));
|
vfs_set_raw_current_dir (vfs_path_from_str (current_dir));
|
||||||
g_free (current_dir);
|
g_free (current_dir);
|
||||||
|
|
||||||
@ -661,7 +661,7 @@ vfs_setup_cwd (void)
|
|||||||
me = vfs_path_get_last_path_vfs (vfs_get_raw_current_dir ());
|
me = vfs_path_get_last_path_vfs (vfs_get_raw_current_dir ());
|
||||||
if ((me->flags & VFSF_LOCAL) != 0)
|
if ((me->flags & VFSF_LOCAL) != 0)
|
||||||
{
|
{
|
||||||
current_dir = g_get_current_dir ();
|
current_dir = my_get_current_dir ();
|
||||||
tmp_vpath = vfs_path_from_str (current_dir);
|
tmp_vpath = vfs_path_from_str (current_dir);
|
||||||
g_free (current_dir);
|
g_free (current_dir);
|
||||||
|
|
||||||
|
@ -264,7 +264,7 @@ const vfs_path_t *vfs_get_raw_current_dir (void);
|
|||||||
void vfs_set_raw_current_dir (const vfs_path_t * vpath);
|
void vfs_set_raw_current_dir (const vfs_path_t * vpath);
|
||||||
|
|
||||||
gboolean vfs_current_is_local (void);
|
gboolean vfs_current_is_local (void);
|
||||||
gboolean vfs_file_is_local (const vfs_path_t * vpath);
|
MC_MOCKABLE gboolean vfs_file_is_local (const vfs_path_t * vpath);
|
||||||
|
|
||||||
char *vfs_strip_suffix_from_filename (const char *filename);
|
char *vfs_strip_suffix_from_filename (const char *filename);
|
||||||
|
|
||||||
@ -318,13 +318,13 @@ off_t mc_lseek (int fd, off_t offset, int whence);
|
|||||||
DIR *mc_opendir (const vfs_path_t * vpath);
|
DIR *mc_opendir (const vfs_path_t * vpath);
|
||||||
struct vfs_dirent *mc_readdir (DIR * dirp);
|
struct vfs_dirent *mc_readdir (DIR * dirp);
|
||||||
int mc_closedir (DIR * dir);
|
int mc_closedir (DIR * dir);
|
||||||
int mc_stat (const vfs_path_t * vpath, struct stat *buf);
|
MC_MOCKABLE int mc_stat (const vfs_path_t * vpath, struct stat *buf);
|
||||||
int mc_mknod (const vfs_path_t * vpath, mode_t mode, dev_t dev);
|
int mc_mknod (const vfs_path_t * vpath, mode_t mode, dev_t dev);
|
||||||
int mc_link (const vfs_path_t * vpath1, const vfs_path_t * vpath2);
|
int mc_link (const vfs_path_t * vpath1, const vfs_path_t * vpath2);
|
||||||
int mc_mkdir (const vfs_path_t * vpath, mode_t mode);
|
int mc_mkdir (const vfs_path_t * vpath, mode_t mode);
|
||||||
int mc_rmdir (const vfs_path_t * vpath);
|
int mc_rmdir (const vfs_path_t * vpath);
|
||||||
int mc_fstat (int fd, struct stat *buf);
|
int mc_fstat (int fd, struct stat *buf);
|
||||||
int mc_lstat (const vfs_path_t * vpath, struct stat *buf);
|
MC_MOCKABLE int mc_lstat (const vfs_path_t * vpath, struct stat *buf);
|
||||||
int mc_symlink (const vfs_path_t * vpath1, const vfs_path_t * vpath2);
|
int mc_symlink (const vfs_path_t * vpath1, const vfs_path_t * vpath2);
|
||||||
int mc_rename (const vfs_path_t * vpath1, const vfs_path_t * vpath2);
|
int mc_rename (const vfs_path_t * vpath1, const vfs_path_t * vpath2);
|
||||||
int mc_chmod (const vfs_path_t * vpath, mode_t mode);
|
int mc_chmod (const vfs_path_t * vpath, mode_t mode);
|
||||||
@ -336,9 +336,9 @@ int mc_unlink (const vfs_path_t * vpath);
|
|||||||
int mc_ctl (int fd, int ctlop, void *arg);
|
int mc_ctl (int fd, int ctlop, void *arg);
|
||||||
int mc_setctl (const vfs_path_t * vpath, int ctlop, void *arg);
|
int mc_setctl (const vfs_path_t * vpath, int ctlop, void *arg);
|
||||||
int mc_open (const vfs_path_t * vpath, int flags, ...);
|
int mc_open (const vfs_path_t * vpath, int flags, ...);
|
||||||
vfs_path_t *mc_getlocalcopy (const vfs_path_t * pathname_vpath);
|
MC_MOCKABLE vfs_path_t *mc_getlocalcopy (const vfs_path_t * pathname_vpath);
|
||||||
int mc_ungetlocalcopy (const vfs_path_t * pathname_vpath, const vfs_path_t * local_vpath,
|
MC_MOCKABLE int mc_ungetlocalcopy (const vfs_path_t * pathname_vpath,
|
||||||
gboolean has_changed);
|
const vfs_path_t * local_vpath, gboolean has_changed);
|
||||||
int mc_mkstemps (vfs_path_t ** pname_vpath, const char *prefix, const char *suffix);
|
int mc_mkstemps (vfs_path_t ** pname_vpath, const char *prefix, const char *suffix);
|
||||||
|
|
||||||
/* Creating temporary files safely */
|
/* Creating temporary files safely */
|
||||||
|
@ -36,7 +36,7 @@ void dialog_switch_shutdown (void);
|
|||||||
void do_refresh (void);
|
void do_refresh (void);
|
||||||
|
|
||||||
void repaint_screen (void);
|
void repaint_screen (void);
|
||||||
void mc_refresh (void);
|
MC_MOCKABLE void mc_refresh (void);
|
||||||
void dialog_change_screen_size (void);
|
void dialog_change_screen_size (void);
|
||||||
|
|
||||||
/*** inline functions ****************************************************************************/
|
/*** inline functions ****************************************************************************/
|
||||||
|
@ -88,7 +88,8 @@ typedef struct
|
|||||||
|
|
||||||
/*** forward declarations (file scope functions) *************************************************/
|
/*** forward declarations (file scope functions) *************************************************/
|
||||||
|
|
||||||
GPtrArray *try_complete (char *text, int *lc_start, int *lc_end, input_complete_t flags);
|
MC_MOCKABLE GPtrArray *try_complete (char *text, int *lc_start, int *lc_end,
|
||||||
|
input_complete_t flags);
|
||||||
void complete_engine_fill_completions (WInput * in);
|
void complete_engine_fill_completions (WInput * in);
|
||||||
|
|
||||||
/*** file scope variables ************************************************************************/
|
/*** file scope variables ************************************************************************/
|
||||||
|
@ -80,7 +80,7 @@ WDialog *create_message (int flags, const char *title, const char *text, ...)
|
|||||||
G_GNUC_PRINTF (3, 4);
|
G_GNUC_PRINTF (3, 4);
|
||||||
|
|
||||||
/* Show message box, background safe */
|
/* Show message box, background safe */
|
||||||
void message (int flags, const char *title, const char *text, ...) G_GNUC_PRINTF (3, 4);
|
MC_MOCKABLE void message (int flags, const char *title, const char *text, ...) G_GNUC_PRINTF (3, 4);
|
||||||
/* *INDENT-ON* */
|
/* *INDENT-ON* */
|
||||||
|
|
||||||
gboolean mc_error_message (GError ** mcerror, int *code);
|
gboolean mc_error_message (GError ** mcerror, int *code);
|
||||||
|
@ -41,22 +41,11 @@ AC_DEFUN([mc_UNIT_TESTS],[
|
|||||||
AC_SUBST(CHECK_LIBS)
|
AC_SUBST(CHECK_LIBS)
|
||||||
fi
|
fi
|
||||||
AM_CONDITIONAL(HAVE_TESTS, test x"$have_check" = "xyes")
|
AM_CONDITIONAL(HAVE_TESTS, test x"$have_check" = "xyes")
|
||||||
|
AS_IF([test x"$have_check" = "xyes"], [AC_DEFINE([HAVE_TESTS], [1], [Build with unit tests.])])
|
||||||
|
|
||||||
dnl sighandler_t is GNU extension
|
dnl sighandler_t is GNU extension
|
||||||
dnl AC_USE_SYSTEM_EXTENSIONS is required
|
dnl AC_USE_SYSTEM_EXTENSIONS is required
|
||||||
AC_CHECK_TYPES([sighandler_t], [], [], [
|
AC_CHECK_TYPES([sighandler_t], [], [], [
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
])
|
])
|
||||||
|
|
||||||
# on cygwin, the linker does not accept the "-z" option
|
|
||||||
case $host_os in
|
|
||||||
cygwin*)
|
|
||||||
TESTS_LDFLAGS="-Wl,--allow-multiple-definition"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
TESTS_LDFLAGS="-Wl,-z,muldefs"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
AC_SUBST(TESTS_LDFLAGS)
|
|
||||||
])
|
])
|
||||||
|
@ -49,6 +49,7 @@
|
|||||||
#include "lib/tty/key.h" /* add_select_channel(), delete_select_channel() */
|
#include "lib/tty/key.h" /* add_select_channel(), delete_select_channel() */
|
||||||
#include "lib/widget.h" /* message() */
|
#include "lib/widget.h" /* message() */
|
||||||
#include "lib/event-types.h"
|
#include "lib/event-types.h"
|
||||||
|
#include "lib/util.h" /* my_fork() */
|
||||||
|
|
||||||
#include "filemanager/fileopctx.h" /* file_op_context_t */
|
#include "filemanager/fileopctx.h" /* file_op_context_t */
|
||||||
|
|
||||||
@ -535,7 +536,7 @@ do_background (file_op_context_t *ctx, char *info)
|
|||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
pid = fork ();
|
pid = my_fork ();
|
||||||
if (pid == -1)
|
if (pid == -1)
|
||||||
{
|
{
|
||||||
int saved_errno = errno;
|
int saved_errno = errno;
|
||||||
|
@ -154,7 +154,7 @@ handle_console_linux (console_action_t action)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
/* Get the console saver running */
|
/* Get the console saver running */
|
||||||
cons_saver_pid = fork ();
|
cons_saver_pid = my_fork ();
|
||||||
if (cons_saver_pid < 0)
|
if (cons_saver_pid < 0)
|
||||||
{
|
{
|
||||||
/* Cannot fork */
|
/* Cannot fork */
|
||||||
|
@ -228,9 +228,9 @@ void edit_paste_from_history (WEdit * edit);
|
|||||||
|
|
||||||
void edit_set_filename (WEdit * edit, const vfs_path_t * name_vpath);
|
void edit_set_filename (WEdit * edit, const vfs_path_t * name_vpath);
|
||||||
|
|
||||||
void edit_load_syntax (WEdit * edit, GPtrArray * pnames, const char *type);
|
MC_MOCKABLE void edit_load_syntax (WEdit * edit, GPtrArray * pnames, const char *type);
|
||||||
void edit_free_syntax_rules (WEdit * edit);
|
void edit_free_syntax_rules (WEdit * edit);
|
||||||
int edit_get_syntax_color (WEdit * edit, off_t byte_index);
|
MC_MOCKABLE int edit_get_syntax_color (WEdit * edit, off_t byte_index);
|
||||||
void edit_syntax_dialog (WEdit * edit);
|
void edit_syntax_dialog (WEdit * edit);
|
||||||
|
|
||||||
void book_mark_insert (WEdit * edit, long line, int c);
|
void book_mark_insert (WEdit * edit, long line, int c);
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
/*** declarations of public functions ************************************************************/
|
/*** declarations of public functions ************************************************************/
|
||||||
|
|
||||||
/* Public function for unit tests */
|
/* Public function for unit tests */
|
||||||
char *edit_completion_dialog_show (const WEdit * edit, GQueue * compl, int max_width);
|
MC_MOCKABLE char *edit_completion_dialog_show (const WEdit * edit, GQueue * compl, int max_width);
|
||||||
|
|
||||||
void edit_complete_word_cmd (WEdit * edit);
|
void edit_complete_word_cmd (WEdit * edit);
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
/*** declarations of public functions ************************************************************/
|
/*** declarations of public functions ************************************************************/
|
||||||
|
|
||||||
int edit_store_macro_cmd (WEdit * edit);
|
int edit_store_macro_cmd (WEdit * edit);
|
||||||
gboolean edit_load_macro_cmd (WEdit * edit);
|
MC_MOCKABLE gboolean edit_load_macro_cmd (WEdit * edit);
|
||||||
void edit_delete_macro_cmd (WEdit * edit);
|
void edit_delete_macro_cmd (WEdit * edit);
|
||||||
gboolean edit_repeat_macro_cmd (WEdit * edit);
|
gboolean edit_repeat_macro_cmd (WEdit * edit);
|
||||||
gboolean edit_execute_macro (WEdit * edit, int hotkey);
|
gboolean edit_execute_macro (WEdit * edit, int hotkey);
|
||||||
|
@ -426,7 +426,7 @@ edit_get_match_keyword_cmd (WEdit *edit)
|
|||||||
for (i = 0; i < word_len; i++)
|
for (i = 0; i < word_len; i++)
|
||||||
g_string_append_c (match_expr, edit_buffer_get_byte (&edit->buffer, word_start + i));
|
g_string_append_c (match_expr, edit_buffer_get_byte (&edit->buffer, word_start + i));
|
||||||
|
|
||||||
ptr = g_get_current_dir ();
|
ptr = my_get_current_dir ();
|
||||||
path = g_strconcat (ptr, PATH_SEP_STR, (char *) NULL);
|
path = g_strconcat (ptr, PATH_SEP_STR, (char *) NULL);
|
||||||
g_free (ptr);
|
g_free (ptr);
|
||||||
|
|
||||||
|
@ -65,11 +65,11 @@ int pause_after_run = pause_on_dumb_terminals;
|
|||||||
|
|
||||||
/*** forward declarations (file scope functions) *************************************************/
|
/*** forward declarations (file scope functions) *************************************************/
|
||||||
|
|
||||||
void do_execute (const char *shell, const char *command, int flags);
|
MC_MOCKABLE void do_execute (const char *shell, const char *command, int flags);
|
||||||
void do_executev (const char *shell, int flags, char *const argv[]);
|
MC_MOCKABLE void do_executev (const char *shell, int flags, char *const argv[]);
|
||||||
char *execute_get_external_cmd_opts_from_config (const char *command,
|
MC_MOCKABLE char *execute_get_external_cmd_opts_from_config (const char *command,
|
||||||
const vfs_path_t * filename_vpath,
|
const vfs_path_t * filename_vpath,
|
||||||
long start_line);
|
long start_line);
|
||||||
|
|
||||||
/*** file scope variables ************************************************************************/
|
/*** file scope variables ************************************************************************/
|
||||||
|
|
||||||
@ -160,12 +160,12 @@ do_suspend_cmd (void)
|
|||||||
/* Make sure that the SIGTSTP below will suspend us directly,
|
/* Make sure that the SIGTSTP below will suspend us directly,
|
||||||
without calling ncurses' SIGTSTP handler; we *don't* want
|
without calling ncurses' SIGTSTP handler; we *don't* want
|
||||||
ncurses to redraw the screen immediately after the SIGCONT */
|
ncurses to redraw the screen immediately after the SIGCONT */
|
||||||
sigaction (SIGTSTP, &startup_handler, &sigtstp_action);
|
my_sigaction (SIGTSTP, &startup_handler, &sigtstp_action);
|
||||||
|
|
||||||
kill (getpid (), SIGTSTP);
|
kill (getpid (), SIGTSTP);
|
||||||
|
|
||||||
/* Restore previous SIGTSTP action */
|
/* Restore previous SIGTSTP action */
|
||||||
sigaction (SIGTSTP, &sigtstp_action, NULL);
|
my_sigaction (SIGTSTP, &sigtstp_action, NULL);
|
||||||
}
|
}
|
||||||
#endif /* SIGTSTP */
|
#endif /* SIGTSTP */
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ void setup_cmdline (void);
|
|||||||
void create_panel (int num, panel_view_mode_t type);
|
void create_panel (int num, panel_view_mode_t type);
|
||||||
void swap_panels (void);
|
void swap_panels (void);
|
||||||
panel_view_mode_t get_panel_type (int idx);
|
panel_view_mode_t get_panel_type (int idx);
|
||||||
panel_view_mode_t get_current_type (void);
|
MC_MOCKABLE panel_view_mode_t get_current_type (void);
|
||||||
panel_view_mode_t get_other_type (void);
|
panel_view_mode_t get_other_type (void);
|
||||||
int get_current_index (void);
|
int get_current_index (void);
|
||||||
int get_other_index (void);
|
int get_other_index (void);
|
||||||
|
@ -181,7 +181,8 @@ void file_mark (WPanel * panel, int idx, int val);
|
|||||||
void do_file_mark (WPanel * panel, int idx, int val);
|
void do_file_mark (WPanel * panel, int idx, int val);
|
||||||
|
|
||||||
gboolean panel_do_cd (WPanel * panel, const vfs_path_t * new_dir_vpath, enum cd_enum cd_type);
|
gboolean panel_do_cd (WPanel * panel, const vfs_path_t * new_dir_vpath, enum cd_enum cd_type);
|
||||||
gboolean panel_cd (WPanel * panel, const vfs_path_t * new_dir_vpath, enum cd_enum cd_type);
|
MC_MOCKABLE gboolean panel_cd (WPanel * panel, const vfs_path_t * new_dir_vpath,
|
||||||
|
enum cd_enum cd_type);
|
||||||
|
|
||||||
gsize panel_get_num_of_sortable_fields (void);
|
gsize panel_get_num_of_sortable_fields (void);
|
||||||
char **panel_get_sortable_fields (gsize * array_size);
|
char **panel_get_sortable_fields (gsize * array_size);
|
||||||
|
@ -208,7 +208,7 @@ init_sigchld (void)
|
|||||||
sigchld_action.sa_flags = SA_RESTART;
|
sigchld_action.sa_flags = SA_RESTART;
|
||||||
#endif /* !SA_RESTART */
|
#endif /* !SA_RESTART */
|
||||||
|
|
||||||
if (sigaction (SIGCHLD, &sigchld_action, NULL) == -1)
|
if (my_sigaction (SIGCHLD, &sigchld_action, NULL) == -1)
|
||||||
{
|
{
|
||||||
#ifdef ENABLE_SUBSHELL
|
#ifdef ENABLE_SUBSHELL
|
||||||
/*
|
/*
|
||||||
@ -499,7 +499,7 @@ main (int argc, char *argv[])
|
|||||||
if (mc_global.tty.alternate_plus_minus)
|
if (mc_global.tty.alternate_plus_minus)
|
||||||
numeric_keypad_mode ();
|
numeric_keypad_mode ();
|
||||||
|
|
||||||
(void) signal (SIGCHLD, SIG_DFL); /* Disable the SIGCHLD handler */
|
(void) my_signal (SIGCHLD, SIG_DFL); /* Disable the SIGCHLD handler */
|
||||||
|
|
||||||
if (mc_global.tty.console_flag != '\0')
|
if (mc_global.tty.console_flag != '\0')
|
||||||
handle_console (CONSOLE_DONE);
|
handle_console (CONSOLE_DONE);
|
||||||
|
@ -1403,7 +1403,7 @@ init_subshell (void)
|
|||||||
|
|
||||||
subshell_alive = TRUE;
|
subshell_alive = TRUE;
|
||||||
subshell_stopped = FALSE;
|
subshell_stopped = FALSE;
|
||||||
subshell_pid = fork ();
|
subshell_pid = my_fork ();
|
||||||
|
|
||||||
if (subshell_pid == -1)
|
if (subshell_pid == -1)
|
||||||
{
|
{
|
||||||
|
@ -426,7 +426,7 @@ shell_pipeopen (struct vfs_s_super *super, const char *path, const char *argv[])
|
|||||||
if ((pipe (fileset1) < 0) || (pipe (fileset2) < 0))
|
if ((pipe (fileset1) < 0) || (pipe (fileset2) < 0))
|
||||||
vfs_die ("Cannot pipe(): %m.");
|
vfs_die ("Cannot pipe(): %m.");
|
||||||
|
|
||||||
res = fork ();
|
res = my_fork ();
|
||||||
|
|
||||||
if (res != 0)
|
if (res != 0)
|
||||||
{
|
{
|
||||||
@ -449,7 +449,7 @@ shell_pipeopen (struct vfs_s_super *super, const char *path, const char *argv[])
|
|||||||
res = open ("/dev/null", O_WRONLY);
|
res = open ("/dev/null", O_WRONLY);
|
||||||
close (fileset2[0]);
|
close (fileset2[0]);
|
||||||
close (fileset2[1]);
|
close (fileset2[1]);
|
||||||
execvp (path, (char **) argv);
|
my_execvp (path, (char **) argv);
|
||||||
my_exit (3);
|
my_exit (3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,8 +4,6 @@ SUBDIRS = . mcconfig search strutil vfs widget
|
|||||||
|
|
||||||
AM_CPPFLAGS = $(GLIB_CFLAGS) -I$(top_srcdir) @CHECK_CFLAGS@
|
AM_CPPFLAGS = $(GLIB_CFLAGS) -I$(top_srcdir) @CHECK_CFLAGS@
|
||||||
|
|
||||||
AM_LDFLAGS = @TESTS_LDFLAGS@
|
|
||||||
|
|
||||||
LIBS = @CHECK_LIBS@ \
|
LIBS = @CHECK_LIBS@ \
|
||||||
$(top_builddir)/lib/libmc.la
|
$(top_builddir)/lib/libmc.la
|
||||||
|
|
||||||
|
@ -125,7 +125,7 @@ main (void)
|
|||||||
tc_core = tcase_create ("Core");
|
tc_core = tcase_create ("Core");
|
||||||
|
|
||||||
/* writable directory where check creates temporary files */
|
/* writable directory where check creates temporary files */
|
||||||
cwd = g_get_current_dir ();
|
cwd = my_get_current_dir ();
|
||||||
g_setenv ("TEMP", cwd, TRUE);
|
g_setenv ("TEMP", cwd, TRUE);
|
||||||
g_free (cwd);
|
g_free (cwd);
|
||||||
|
|
||||||
|
@ -6,8 +6,6 @@ AM_CPPFLAGS = \
|
|||||||
-I$(top_srcdir) \
|
-I$(top_srcdir) \
|
||||||
@CHECK_CFLAGS@
|
@CHECK_CFLAGS@
|
||||||
|
|
||||||
AM_LDFLAGS = @TESTS_LDFLAGS@
|
|
||||||
|
|
||||||
LIBS = @CHECK_LIBS@ \
|
LIBS = @CHECK_LIBS@ \
|
||||||
$(top_builddir)/lib/libmc.la
|
$(top_builddir)/lib/libmc.la
|
||||||
|
|
||||||
|
@ -28,11 +28,6 @@
|
|||||||
|
|
||||||
#include "lib/vfs/vfs.h"
|
#include "lib/vfs/vfs.h"
|
||||||
|
|
||||||
/* sighandler_t is GNU extension */
|
|
||||||
#ifndef HAVE_SIGHANDLER_T
|
|
||||||
typedef void (*sighandler_t) (int);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------- */
|
/* --------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
/* @CapturedValue */
|
/* @CapturedValue */
|
||||||
@ -40,6 +35,10 @@ static sigset_t *sigemptyset_set__captured;
|
|||||||
/* @ThenReturnValue */
|
/* @ThenReturnValue */
|
||||||
static int sigemptyset__return_value = 0;
|
static int sigemptyset__return_value = 0;
|
||||||
|
|
||||||
|
#ifdef sigemptyset
|
||||||
|
#undef sigemptyset
|
||||||
|
#endif
|
||||||
|
|
||||||
/* @Mock */
|
/* @Mock */
|
||||||
int
|
int
|
||||||
sigemptyset (sigset_t *set)
|
sigemptyset (sigset_t *set)
|
||||||
@ -61,7 +60,7 @@ static int sigaction__return_value = 0;
|
|||||||
|
|
||||||
/* @Mock */
|
/* @Mock */
|
||||||
int
|
int
|
||||||
sigaction (int signum, const struct sigaction *act, struct sigaction *oldact)
|
my_sigaction (int signum, const struct sigaction *act, struct sigaction *oldact)
|
||||||
{
|
{
|
||||||
int *tmp_signum;
|
int *tmp_signum;
|
||||||
struct sigaction *tmp_act;
|
struct sigaction *tmp_act;
|
||||||
@ -129,7 +128,7 @@ static sighandler_t signal__return_value = NULL;
|
|||||||
|
|
||||||
/* @Mock */
|
/* @Mock */
|
||||||
sighandler_t
|
sighandler_t
|
||||||
signal (int signum, sighandler_t handler)
|
my_signal (int signum, sighandler_t handler)
|
||||||
{
|
{
|
||||||
int *tmp_signum;
|
int *tmp_signum;
|
||||||
sighandler_t *tmp_handler;
|
sighandler_t *tmp_handler;
|
||||||
@ -176,7 +175,7 @@ static pid_t fork__return_value;
|
|||||||
|
|
||||||
/* @Mock */
|
/* @Mock */
|
||||||
pid_t
|
pid_t
|
||||||
fork (void)
|
my_fork (void)
|
||||||
{
|
{
|
||||||
return fork__return_value;
|
return fork__return_value;
|
||||||
}
|
}
|
||||||
@ -203,7 +202,7 @@ static int execvp__return_value = 0;
|
|||||||
|
|
||||||
/* @Mock */
|
/* @Mock */
|
||||||
int
|
int
|
||||||
execvp (const char *file, char *const argv[])
|
my_execvp (const char *file, char *const argv[])
|
||||||
{
|
{
|
||||||
char **one_arg;
|
char **one_arg;
|
||||||
execvp__file__captured = g_strdup (file);
|
execvp__file__captured = g_strdup (file);
|
||||||
|
@ -7,8 +7,6 @@ AM_CPPFLAGS = \
|
|||||||
-I$(top_srcdir)/lib/vfs \
|
-I$(top_srcdir)/lib/vfs \
|
||||||
@CHECK_CFLAGS@
|
@CHECK_CFLAGS@
|
||||||
|
|
||||||
AM_LDFLAGS = @TESTS_LDFLAGS@
|
|
||||||
|
|
||||||
EXTRA_DIST = mc.charsets
|
EXTRA_DIST = mc.charsets
|
||||||
|
|
||||||
LIBS = @CHECK_LIBS@ \
|
LIBS = @CHECK_LIBS@ \
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
#include "lib/global.h"
|
#include "lib/global.h"
|
||||||
#include "lib/strutil.h"
|
#include "lib/strutil.h"
|
||||||
#include "lib/vfs/xdirentry.h"
|
#include "lib/vfs/xdirentry.h"
|
||||||
|
#include "lib/util.h"
|
||||||
|
|
||||||
#include "src/vfs/local/local.c"
|
#include "src/vfs/local/local.c"
|
||||||
|
|
||||||
@ -191,7 +192,7 @@ main (void)
|
|||||||
tc_core = tcase_create ("Core");
|
tc_core = tcase_create ("Core");
|
||||||
|
|
||||||
/* writable directory where check creates temporary files */
|
/* writable directory where check creates temporary files */
|
||||||
cwd = g_get_current_dir ();
|
cwd = my_get_current_dir ();
|
||||||
g_setenv ("TEMP", cwd, TRUE);
|
g_setenv ("TEMP", cwd, TRUE);
|
||||||
g_free (cwd);
|
g_free (cwd);
|
||||||
|
|
||||||
|
@ -31,6 +31,7 @@
|
|||||||
#include "lib/strutil.h"
|
#include "lib/strutil.h"
|
||||||
#include "lib/vfs/xdirentry.h"
|
#include "lib/vfs/xdirentry.h"
|
||||||
#include "lib/vfs/path.h"
|
#include "lib/vfs/path.h"
|
||||||
|
#include "lib/util.h"
|
||||||
|
|
||||||
#include "src/vfs/local/local.c"
|
#include "src/vfs/local/local.c"
|
||||||
|
|
||||||
@ -203,7 +204,7 @@ main (void)
|
|||||||
tc_core = tcase_create ("Core");
|
tc_core = tcase_create ("Core");
|
||||||
|
|
||||||
/* writable directory where check creates temporary files */
|
/* writable directory where check creates temporary files */
|
||||||
cwd = g_get_current_dir ();
|
cwd = my_get_current_dir ();
|
||||||
g_setenv ("TEMP", cwd, TRUE);
|
g_setenv ("TEMP", cwd, TRUE);
|
||||||
g_free (cwd);
|
g_free (cwd);
|
||||||
|
|
||||||
|
@ -30,6 +30,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include "lib/strutil.h"
|
#include "lib/strutil.h"
|
||||||
|
#include "lib/util.h"
|
||||||
#include "lib/vfs/xdirentry.h"
|
#include "lib/vfs/xdirentry.h"
|
||||||
#include "src/vfs/local/local.c"
|
#include "src/vfs/local/local.c"
|
||||||
|
|
||||||
@ -37,7 +38,7 @@
|
|||||||
|
|
||||||
/* @Mock */
|
/* @Mock */
|
||||||
char *
|
char *
|
||||||
g_get_current_dir (void)
|
my_get_current_dir (void)
|
||||||
{
|
{
|
||||||
return g_strdup ("/some/path");
|
return g_strdup ("/some/path");
|
||||||
}
|
}
|
||||||
|
@ -6,8 +6,6 @@ AM_CPPFLAGS = \
|
|||||||
-I$(top_srcdir)/lib/vfs \
|
-I$(top_srcdir)/lib/vfs \
|
||||||
@CHECK_CFLAGS@
|
@CHECK_CFLAGS@
|
||||||
|
|
||||||
AM_LDFLAGS = @TESTS_LDFLAGS@
|
|
||||||
|
|
||||||
LIBS = @CHECK_LIBS@ \
|
LIBS = @CHECK_LIBS@ \
|
||||||
$(top_builddir)/lib/libmc.la
|
$(top_builddir)/lib/libmc.la
|
||||||
|
|
||||||
|
@ -12,8 +12,6 @@ AM_CPPFLAGS = \
|
|||||||
-I$(top_srcdir)/lib/vfs \
|
-I$(top_srcdir)/lib/vfs \
|
||||||
@CHECK_CFLAGS@
|
@CHECK_CFLAGS@
|
||||||
|
|
||||||
AM_LDFLAGS = @TESTS_LDFLAGS@
|
|
||||||
|
|
||||||
LIBS = @CHECK_LIBS@ \
|
LIBS = @CHECK_LIBS@ \
|
||||||
$(top_builddir)/src/libinternal.la \
|
$(top_builddir)/src/libinternal.la \
|
||||||
$(top_builddir)/lib/libmc.la
|
$(top_builddir)/lib/libmc.la
|
||||||
|
@ -6,8 +6,6 @@ AM_CPPFLAGS = \
|
|||||||
-I$(top_srcdir) \
|
-I$(top_srcdir) \
|
||||||
@CHECK_CFLAGS@
|
@CHECK_CFLAGS@
|
||||||
|
|
||||||
AM_LDFLAGS = @TESTS_LDFLAGS@
|
|
||||||
|
|
||||||
LIBS = @CHECK_LIBS@ \
|
LIBS = @CHECK_LIBS@ \
|
||||||
$(top_builddir)/src/libinternal.la \
|
$(top_builddir)/src/libinternal.la \
|
||||||
$(top_builddir)/lib/libmc.la
|
$(top_builddir)/lib/libmc.la
|
||||||
|
@ -7,8 +7,6 @@ AM_CPPFLAGS = \
|
|||||||
-DTEST_SHARE_DIR=\"$(abs_srcdir)\" \
|
-DTEST_SHARE_DIR=\"$(abs_srcdir)\" \
|
||||||
@CHECK_CFLAGS@
|
@CHECK_CFLAGS@
|
||||||
|
|
||||||
AM_LDFLAGS = @TESTS_LDFLAGS@
|
|
||||||
|
|
||||||
LIBS = @CHECK_LIBS@ \
|
LIBS = @CHECK_LIBS@ \
|
||||||
$(top_builddir)/src/libinternal.la \
|
$(top_builddir)/src/libinternal.la \
|
||||||
$(top_builddir)/lib/libmc.la
|
$(top_builddir)/lib/libmc.la
|
||||||
|
@ -4,10 +4,6 @@ SUBDIRS = misc
|
|||||||
|
|
||||||
AM_CPPFLAGS = $(GLIB_CFLAGS) -I$(top_srcdir)
|
AM_CPPFLAGS = $(GLIB_CFLAGS) -I$(top_srcdir)
|
||||||
|
|
||||||
# This lets mc_parse_ls_l.c override MC's message() without the linker
|
|
||||||
# complaining about multiple definitions.
|
|
||||||
AM_LDFLAGS = @TESTS_LDFLAGS@
|
|
||||||
|
|
||||||
LIBS = $(top_builddir)/lib/libmc.la
|
LIBS = $(top_builddir)/lib/libmc.la
|
||||||
|
|
||||||
if ENABLE_MCLIB
|
if ENABLE_MCLIB
|
||||||
|
@ -7,8 +7,6 @@ AM_CPPFLAGS = \
|
|||||||
-I$(top_srcdir)/lib/vfs \
|
-I$(top_srcdir)/lib/vfs \
|
||||||
@CHECK_CFLAGS@
|
@CHECK_CFLAGS@
|
||||||
|
|
||||||
AM_LDFLAGS = @TESTS_LDFLAGS@
|
|
||||||
|
|
||||||
LIBS = @CHECK_LIBS@ \
|
LIBS = @CHECK_LIBS@ \
|
||||||
$(top_builddir)/src/libinternal.la \
|
$(top_builddir)/src/libinternal.la \
|
||||||
$(top_builddir)/lib/libmc.la
|
$(top_builddir)/lib/libmc.la
|
||||||
|
Loading…
Reference in New Issue
Block a user