mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-03 06:17:02 +00:00
config: test saving config to new file
This commit is contained in:
parent
4e90a0a4a0
commit
533fda3b83
@ -59,6 +59,7 @@ void cl_fixture_cleanup(const char *fixture_name);
|
||||
*/
|
||||
extern void test_buf_basic__printf(void);
|
||||
extern void test_buf_basic__resize(void);
|
||||
extern void test_config_new__write_new_config(void);
|
||||
extern void test_config_stress__cleanup(void);
|
||||
extern void test_config_stress__dont_break_on_invalid_input(void);
|
||||
extern void test_config_stress__initialize(void);
|
||||
|
@ -108,6 +108,9 @@ static const struct clay_func _clay_cb_buf_basic[] = {
|
||||
{"printf", &test_buf_basic__printf},
|
||||
{"resize", &test_buf_basic__resize}
|
||||
};
|
||||
static const struct clay_func _clay_cb_config_new[] = {
|
||||
{"write_new_config", &test_config_new__write_new_config}
|
||||
};
|
||||
static const struct clay_func _clay_cb_config_stress[] = {
|
||||
{"dont_break_on_invalid_input", &test_config_stress__dont_break_on_invalid_input}
|
||||
};
|
||||
@ -227,6 +230,12 @@ static const struct clay_suite _clay_suites[] = {
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
_clay_cb_buf_basic, 2
|
||||
},
|
||||
{
|
||||
"config::new",
|
||||
{NULL, NULL},
|
||||
{NULL, NULL},
|
||||
_clay_cb_config_new, 1
|
||||
},
|
||||
{
|
||||
"config::stress",
|
||||
@ -362,8 +371,8 @@ static const struct clay_suite _clay_suites[] = {
|
||||
}
|
||||
};
|
||||
|
||||
static size_t _clay_suite_count = 23;
|
||||
static size_t _clay_callback_count = 70;
|
||||
static size_t _clay_suite_count = 24;
|
||||
static size_t _clay_callback_count = 71;
|
||||
|
||||
/* Core test functions */
|
||||
static void
|
||||
|
36
tests-clay/config/new.c
Normal file
36
tests-clay/config/new.c
Normal file
@ -0,0 +1,36 @@
|
||||
#include "clay_libgit2.h"
|
||||
|
||||
#include "filebuf.h"
|
||||
#include "fileops.h"
|
||||
#include "posix.h"
|
||||
|
||||
#define TEST_CONFIG "git-new-config"
|
||||
|
||||
void test_config_new__write_new_config(void)
|
||||
{
|
||||
const char *out;
|
||||
struct git_config_file *file;
|
||||
git_config *config;
|
||||
|
||||
cl_git_pass(git_config_file__ondisk(&file, TEST_CONFIG));
|
||||
cl_git_pass(git_config_new(&config));
|
||||
cl_git_pass(git_config_add_file(config, file, 0));
|
||||
|
||||
cl_git_pass(git_config_set_string(config, "color.ui", "auto"));
|
||||
cl_git_pass(git_config_set_string(config, "core.editor", "ed"));
|
||||
|
||||
git_config_free(config);
|
||||
|
||||
cl_git_pass(git_config_file__ondisk(&file, TEST_CONFIG));
|
||||
cl_git_pass(git_config_new(&config));
|
||||
cl_git_pass(git_config_add_file(config, file, 0));
|
||||
|
||||
cl_git_pass(git_config_get_string(config, "color.ui", &out));
|
||||
cl_assert(strcmp(out, "auto") == 0);
|
||||
cl_git_pass(git_config_get_string(config, "core.editor", &out));
|
||||
cl_assert(strcmp(out, "ed") == 0);
|
||||
|
||||
git_config_free(config);
|
||||
|
||||
p_unlink(TEST_CONFIG);
|
||||
}
|
Loading…
Reference in New Issue
Block a user