git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v5 2/2] test-config: Add tests for the config_set API

From
Matthieu Moy <matthieu.moy@grenoble-inp.fr>
Date
Jul 6, 2014, 19:57 UTC
Message-ID
<vpqk37q2rc8.fsf@anie.imag.fr>
In-Reply-To
<1404631162-18556-3-git-send-email-tanayabh@gmail.com>
Tanay Abhra <tanayabh@gmail.com> writes:
Show 8 quoted lines
> diff --git a/test-config.c b/test-config.c
> new file mode 100644
> index 0000000..45ccd0a
> --- /dev/null
> +++ b/test-config.c
> @@ -0,0 +1,127 @@
> +#include "cache.h"
> +#include "hashmap.h"
Useless include, you're not using the hashmap directly.
> +int main(int argc, char **argv)
> +{
> +	int i, no_of_files;
Unused no_of_files.
With
CFLAGS += -Wdeclaration-after-statement -Wall -Werror

in config.mak, my git.git refuses to compile with your patch. You should have similar options for hacking on git.git.

> +	if (argc == 3 && !strcmp(argv[1], "get_value")) {
You should do something like
if (argc < 2) {
	fprintf(stderr, "Please, provide a command name on the command-line\n");
	return 1;
}

before this. Otherwise, some argv[1] below are invalid on mis-use. No need for thorough checks since it's just a test program, but better avoid undefined behavior and segfaults anyway...

Show 9 quoted lines
> +		if (!git_config_get_value(argv[2], &v)) {
> +			if (!v)
> +				printf("(NULL)\n");
> +			else
> +				printf("%s\n", v);
> +			return 0;
> +		} else {
> +			printf("Value not found for \"%s\"\n", argv[2]);
> +			return -1;

Avoid returning negative values from main. Your shell's $? won't see -1, but most likely 255 or so, but I think it even depends on the OS.

You don't seem to use main's return for anything but error, so 0 = everything OK; 1 = some error is the common convention.

Show 6 quoted lines
> +		} else {
> +			printf("Value not found for \"%s\"\n", argv[2]);
> +			return -1;
> +		}
> +
> +	} else if (!strcmp(argv[1], "configset_get_value_multi")) {
Why a blank line before this "else if" and not before other "else if"s?
-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
Previous: Matthieu MoyNext: Ramkumar Ramachandra
Message 7 of 9 in “git config cache & special querying api utilizing the cache”
  1. 0/3 git config cache & special querying api utilizing the cacheTanay Abhra, Jul 6, 2014
  2. 1/2 add `config_set` API for caching config-like filesTanay Abhra, Jul 6, 2014
  3. Ramsay JonesJul 6, 2014
  4. Matthieu MoyJul 6, 2014
  5. 2/2 test-config: Add tests for the config_set APITanay Abhra, Jul 6, 2014
  6. Matthieu MoyJul 6, 2014
  7. Matthieu MoyJul 6, 2014
  8. Ramkumar RamachandraJul 6, 2014
  9. Matthieu MoyJul 7, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.