2 * Copyright © 2020 Advanced Micro Devices, Inc.
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
11 * The above copyright notice and this permission notice (including the next
12 * paragraph) shall be included in all copies or substantial portions of the
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
24 /* A collection of unit tests for u_process.c */
26 #include "util/detect_os.h"
27 #include "util/u_process.h"
34 #if DETECT_OS_WINDOWS && !defined(PATH_MAX)
36 #define PATH_MAX MAX_PATH
42 expect_equal_str(const char *expected
, const char *actual
, const char *test
)
44 if (strcmp(expected
, actual
)) {
45 fprintf (stderr
, "Error: Test '%s' failed:\n\t"
46 "Expected=\"%s\", Actual=\"%s\"\n",
47 test
, expected
, actual
);
53 test_util_get_process_name (void)
55 #if !DETECT_OS_WINDOWS
56 const char* name
= util_get_process_name();
57 expect_equal_str("process_test", name
, "util_get_process_name");
61 /* This test gets the real path from Meson (BUILD_FULL_PATH env var),
62 * and compares it to the output of util_get_process_exec_path.
65 test_util_get_process_exec_path (void)
68 if (util_get_process_exec_path(path
, PATH_MAX
) == 0) {
72 char* build_path
= getenv("BUILD_FULL_PATH");
74 fprintf(stderr
, "BUILD_FULL_PATH environment variable should be set\n");
79 int i
= strlen(build_path
) - 4;
80 if ((i
> 0) && (strcmp(&build_path
[i
], ".exe") == 0))
83 expect_equal_str(build_path
, path
, "util_get_process_name");
89 test_util_get_process_name();
90 test_util_get_process_exec_path();