Commit 533fda3b by Carlos Martín Nieto

config: test saving config to new file

parent 4e90a0a4
...@@ -59,6 +59,7 @@ void cl_fixture_cleanup(const char *fixture_name); ...@@ -59,6 +59,7 @@ void cl_fixture_cleanup(const char *fixture_name);
*/ */
extern void test_buf_basic__printf(void); extern void test_buf_basic__printf(void);
extern void test_buf_basic__resize(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__cleanup(void);
extern void test_config_stress__dont_break_on_invalid_input(void); extern void test_config_stress__dont_break_on_invalid_input(void);
extern void test_config_stress__initialize(void); extern void test_config_stress__initialize(void);
......
...@@ -108,6 +108,9 @@ static const struct clay_func _clay_cb_buf_basic[] = { ...@@ -108,6 +108,9 @@ static const struct clay_func _clay_cb_buf_basic[] = {
{"printf", &test_buf_basic__printf}, {"printf", &test_buf_basic__printf},
{"resize", &test_buf_basic__resize} {"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[] = { static const struct clay_func _clay_cb_config_stress[] = {
{"dont_break_on_invalid_input", &test_config_stress__dont_break_on_invalid_input} {"dont_break_on_invalid_input", &test_config_stress__dont_break_on_invalid_input}
}; };
...@@ -229,6 +232,12 @@ static const struct clay_suite _clay_suites[] = { ...@@ -229,6 +232,12 @@ static const struct clay_suite _clay_suites[] = {
_clay_cb_buf_basic, 2 _clay_cb_buf_basic, 2
}, },
{ {
"config::new",
{NULL, NULL},
{NULL, NULL},
_clay_cb_config_new, 1
},
{
"config::stress", "config::stress",
{"initialize", &test_config_stress__initialize}, {"initialize", &test_config_stress__initialize},
{"cleanup", &test_config_stress__cleanup}, {"cleanup", &test_config_stress__cleanup},
...@@ -362,8 +371,8 @@ static const struct clay_suite _clay_suites[] = { ...@@ -362,8 +371,8 @@ static const struct clay_suite _clay_suites[] = {
} }
}; };
static size_t _clay_suite_count = 23; static size_t _clay_suite_count = 24;
static size_t _clay_callback_count = 70; static size_t _clay_callback_count = 71;
/* Core test functions */ /* Core test functions */
static void static void
......
#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);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment