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
|
void
|
||||||
clar_test(int argc, char **argv)
|
clar_test_init(int argc, char **argv)
|
||||||
{
|
{
|
||||||
clar_print_init(
|
clar_print_init(
|
||||||
(int)_clar_callback_count,
|
(int)_clar_callback_count,
|
||||||
@ -369,13 +369,23 @@ clar_test(int argc, char **argv)
|
|||||||
|
|
||||||
if (argc > 1)
|
if (argc > 1)
|
||||||
clar_parse_args(argc, argv);
|
clar_parse_args(argc, argv);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
clar_test_run()
|
||||||
|
{
|
||||||
if (!_clar.suites_ran) {
|
if (!_clar.suites_ran) {
|
||||||
size_t i;
|
size_t i;
|
||||||
for (i = 0; i < _clar_suite_count; ++i)
|
for (i = 0; i < _clar_suite_count; ++i)
|
||||||
clar_run_suite(&_clar_suites[i], NULL);
|
clar_run_suite(&_clar_suites[i], NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return _clar.total_errors;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
clar_test_shutdown()
|
||||||
|
{
|
||||||
clar_print_shutdown(
|
clar_print_shutdown(
|
||||||
_clar.tests_ran,
|
_clar.tests_ran,
|
||||||
(int)_clar_suite_count,
|
(int)_clar_suite_count,
|
||||||
@ -383,7 +393,18 @@ clar_test(int argc, char **argv)
|
|||||||
);
|
);
|
||||||
|
|
||||||
clar_unsandbox();
|
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(
|
void clar__fail(
|
||||||
|
@ -9,8 +9,14 @@
|
|||||||
|
|
||||||
#include <stdlib.h>
|
#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[]);
|
int clar_test(int argc, char *argv[]);
|
||||||
|
|
||||||
|
const char *clar_sandbox_path(void);
|
||||||
|
|
||||||
void cl_set_cleanup(void (*cleanup)(void *), void *opaque);
|
void cl_set_cleanup(void (*cleanup)(void *), void *opaque);
|
||||||
void cl_fs_cleanup(void);
|
void cl_fs_cleanup(void);
|
||||||
|
|
||||||
|
@ -127,3 +127,8 @@ static int clar_sandbox(void)
|
|||||||
return 0;
|
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[])
|
int main(int argc, char *argv[])
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
|
const char *sandbox_path;
|
||||||
int res;
|
int res;
|
||||||
|
|
||||||
|
clar_test_init(argc, argv);
|
||||||
|
|
||||||
git_threads_init();
|
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 */
|
/* Run the test suite */
|
||||||
res = clar_test(argc, argv);
|
res = clar_test_run();
|
||||||
|
|
||||||
|
clar_test_shutdown();
|
||||||
|
|
||||||
giterr_clear();
|
giterr_clear();
|
||||||
git_threads_shutdown();
|
git_threads_shutdown();
|
||||||
|
Loading…
Reference in New Issue
Block a user