xref: /third_party/musl/libc-test/src/functional/dirname.c
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /third_party/musl/libc-test/src/functional/
1570af302Sopenharmony_ci#include <stdlib.h>
2570af302Sopenharmony_ci#include <string.h>
3570af302Sopenharmony_ci#include <libgen.h>
4570af302Sopenharmony_ci#include "test.h"
5570af302Sopenharmony_ci
6570af302Sopenharmony_ci#define T(path, want) \
7570af302Sopenharmony_ci{ \
8570af302Sopenharmony_ci	char tmp[100]; \
9570af302Sopenharmony_ci	char *got = dirname(strcpy(tmp, path)); \
10570af302Sopenharmony_ci	if (strcmp(want, got) != 0) \
11570af302Sopenharmony_ci		t_error("dirname(\"%s\") got \"%s\" want \"%s\"\n", path, got, want); \
12570af302Sopenharmony_ci}
13570af302Sopenharmony_ci
14570af302Sopenharmony_ciint main()
15570af302Sopenharmony_ci{
16570af302Sopenharmony_ci	if (strcmp(dirname(0), ".") != 0)
17570af302Sopenharmony_ci		t_error("dirname(0) returned \"%s\"; expected \".\"\n", dirname(0));
18570af302Sopenharmony_ci	T("", ".");
19570af302Sopenharmony_ci	T("/usr/lib", "/usr");
20570af302Sopenharmony_ci	T("/usr/", "/");
21570af302Sopenharmony_ci	T("usr", ".");
22570af302Sopenharmony_ci	T("usr/", ".");
23570af302Sopenharmony_ci	T("/", "/");
24570af302Sopenharmony_ci	T("///", "/");
25570af302Sopenharmony_ci	T(".", ".");
26570af302Sopenharmony_ci	T("..", ".");
27570af302Sopenharmony_ci	return t_status;
28570af302Sopenharmony_ci}
29

Indexes created Thu Nov 07 10:32:03 CST 2024