mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-29 08:11:58 +00:00
Add tests for deleting a config var
Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
This commit is contained in:
parent
6d4b609718
commit
2601fcfc1e
@ -254,7 +254,15 @@ GIT_EXTERN(int) git_config_set_bool(git_config *cfg, const char *name, int value
|
||||
GIT_EXTERN(int) git_config_set_string(git_config *cfg, const char *name, const char *value);
|
||||
|
||||
/**
|
||||
* Perform an operation on each config variable
|
||||
* Delete a config variable
|
||||
*
|
||||
* @param cfg the configuration
|
||||
* @param name the variable to delete
|
||||
*/
|
||||
GIT_EXTERN(int) git_config_del(git_config *cfg, const char *name);
|
||||
|
||||
/**
|
||||
* Perform an operation on each config variable.
|
||||
*
|
||||
* The callback receives the normalized name and value of each variable
|
||||
* in the config backend, and the data pointer passed to this function.
|
||||
|
Binary file not shown.
@ -235,6 +235,34 @@ BEGIN_TEST(config11, "fall back to the global config")
|
||||
git_repository_free(repo);
|
||||
END_TEST
|
||||
|
||||
BEGIN_TEST(config12, "delete a value")
|
||||
git_config *cfg;
|
||||
int i;
|
||||
|
||||
/* By freeing the config, we make sure we flush the values */
|
||||
must_pass(git_config_open_ondisk(&cfg, CONFIG_BASE "/config9"));
|
||||
must_pass(git_config_set_int(cfg, "core.dummy", 5));
|
||||
git_config_free(cfg);
|
||||
|
||||
must_pass(git_config_open_ondisk(&cfg, CONFIG_BASE "/config9"));
|
||||
must_pass(git_config_del(cfg, "core.dummy"));
|
||||
git_config_free(cfg);
|
||||
|
||||
must_pass(git_config_open_ondisk(&cfg, CONFIG_BASE "/config9"));
|
||||
must_be_true(git_config_get_int(cfg, "core.dummy", &i) == GIT_ENOTFOUND);
|
||||
must_pass(git_config_set_int(cfg, "core.dummy", 1));
|
||||
git_config_free(cfg);
|
||||
END_TEST
|
||||
|
||||
BEGIN_TEST(config13, "can't delete a non-existent value")
|
||||
git_config *cfg;
|
||||
|
||||
/* By freeing the config, we make sure we flush the values */
|
||||
must_pass(git_config_open_ondisk(&cfg, CONFIG_BASE "/config9"));
|
||||
must_be_true(git_config_del(cfg, "core.imaginary") == GIT_ENOTFOUND);
|
||||
git_config_free(cfg);
|
||||
END_TEST
|
||||
|
||||
BEGIN_SUITE(config)
|
||||
ADD_TEST(config0);
|
||||
ADD_TEST(config1);
|
||||
@ -248,4 +276,6 @@ BEGIN_SUITE(config)
|
||||
ADD_TEST(config9);
|
||||
ADD_TEST(config10);
|
||||
ADD_TEST(config11);
|
||||
ADD_TEST(config12);
|
||||
ADD_TEST(config13);
|
||||
END_SUITE
|
||||
|
Loading…
Reference in New Issue
Block a user