mirror of
https://git.proxmox.com/git/libgit2
synced 2025-07-19 19:13:49 +00:00
Merge pull request #2214 from ethomson/sandbox_config
RFC: Sandbox HOME during test execution
This commit is contained in:
commit
71ba28e3a5
27
tests/clar.c
27
tests/clar.c
@ -353,8 +353,8 @@ clar_parse_args(int argc, char **argv)
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
clar_test(int argc, char **argv)
|
||||
void
|
||||
clar_test_init(int argc, char **argv)
|
||||
{
|
||||
clar_print_init(
|
||||
(int)_clar_callback_count,
|
||||
@ -369,13 +369,23 @@ clar_test(int argc, char **argv)
|
||||
|
||||
if (argc > 1)
|
||||
clar_parse_args(argc, argv);
|
||||
}
|
||||
|
||||
int
|
||||
clar_test_run()
|
||||
{
|
||||
if (!_clar.suites_ran) {
|
||||
size_t i;
|
||||
for (i = 0; i < _clar_suite_count; ++i)
|
||||
clar_run_suite(&_clar_suites[i], NULL);
|
||||
}
|
||||
|
||||
return _clar.total_errors;
|
||||
}
|
||||
|
||||
void
|
||||
clar_test_shutdown()
|
||||
{
|
||||
clar_print_shutdown(
|
||||
_clar.tests_ran,
|
||||
(int)_clar_suite_count,
|
||||
@ -383,7 +393,18 @@ clar_test(int argc, char **argv)
|
||||
);
|
||||
|
||||
clar_unsandbox();
|
||||
return _clar.total_errors;
|
||||
}
|
||||
|
||||
int
|
||||
clar_test(int argc, char **argv)
|
||||
{
|
||||
int errors;
|
||||
|
||||
clar_test_init(argc, argv);
|
||||
errors = clar_test_run();
|
||||
clar_test_shutdown();
|
||||
|
||||
return errors;
|
||||
}
|
||||
|
||||
void clar__fail(
|
||||
|
@ -9,8 +9,14 @@
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
void clar_test_init(int argc, char *argv[]);
|
||||
int clar_test_run(void);
|
||||
void clar_test_shutdown(void);
|
||||
|
||||
int clar_test(int argc, char *argv[]);
|
||||
|
||||
const char *clar_sandbox_path(void);
|
||||
|
||||
void cl_set_cleanup(void (*cleanup)(void *), void *opaque);
|
||||
void cl_fs_cleanup(void);
|
||||
|
||||
|
@ -127,3 +127,8 @@ static int clar_sandbox(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
const char *clar_sandbox_path(void)
|
||||
{
|
||||
return _clar_path;
|
||||
}
|
||||
|
||||
|
11
tests/main.c
11
tests/main.c
@ -6,12 +6,21 @@ int __cdecl main(int argc, char *argv[])
|
||||
int main(int argc, char *argv[])
|
||||
#endif
|
||||
{
|
||||
const char *sandbox_path;
|
||||
int res;
|
||||
|
||||
clar_test_init(argc, argv);
|
||||
|
||||
git_threads_init();
|
||||
|
||||
sandbox_path = clar_sandbox_path();
|
||||
git_libgit2_opts(GIT_OPT_SET_SEARCH_PATH, GIT_CONFIG_LEVEL_GLOBAL, sandbox_path);
|
||||
git_libgit2_opts(GIT_OPT_SET_SEARCH_PATH, GIT_CONFIG_LEVEL_XDG, sandbox_path);
|
||||
|
||||
/* Run the test suite */
|
||||
res = clar_test(argc, argv);
|
||||
res = clar_test_run();
|
||||
|
||||
clar_test_shutdown();
|
||||
|
||||
giterr_clear();
|
||||
git_threads_shutdown();
|
||||
|
Loading…
Reference in New Issue
Block a user