Merge branch 'en/merge-recursive-2'
[git/gitweb.git] / test-path-utils.c
blob3bc20e91da561f4edd5c3eddb0988735759234e4
1 #include "cache.h"
3 int main(int argc, char **argv)
5 if (argc == 3 && !strcmp(argv[1], "normalize_path_copy")) {
6 char *buf = xmalloc(PATH_MAX + 1);
7 int rv = normalize_path_copy(buf, argv[2]);
8 if (rv)
9 buf = "++failed++";
10 puts(buf);
11 return 0;
14 if (argc >= 2 && !strcmp(argv[1], "real_path")) {
15 while (argc > 2) {
16 puts(real_path(argv[2]));
17 argc--;
18 argv++;
20 return 0;
23 if (argc >= 2 && !strcmp(argv[1], "absolute_path")) {
24 while (argc > 2) {
25 puts(absolute_path(argv[2]));
26 argc--;
27 argv++;
29 return 0;
32 if (argc == 4 && !strcmp(argv[1], "longest_ancestor_length")) {
33 int len = longest_ancestor_length(argv[2], argv[3]);
34 printf("%d\n", len);
35 return 0;
38 if (argc >= 4 && !strcmp(argv[1], "prefix_path")) {
39 char *prefix = argv[2];
40 int prefix_len = strlen(prefix);
41 int nongit_ok;
42 setup_git_directory_gently(&nongit_ok);
43 while (argc > 3) {
44 puts(prefix_path(prefix, prefix_len, argv[3]));
45 argc--;
46 argv++;
48 return 0;
51 if (argc == 4 && !strcmp(argv[1], "strip_path_suffix")) {
52 char *prefix = strip_path_suffix(argv[2], argv[3]);
53 printf("%s\n", prefix ? prefix : "(null)");
54 return 0;
57 fprintf(stderr, "%s: unknown function name: %s\n", argv[0],
58 argv[1] ? argv[1] : "(there was none)");
59 return 1;