Although, it is not possible on Linux (which always uses /tmp)
the compiler complains about possible snprintf() truncation.

Use existing code to make empty tmp file which puts the
OS specific code in one spot and avoids any races if
two tests are run at once.

Fixes: be22019a58c4 ("test: restore cfgfile tests")
Cc: [email protected]

Signed-off-by: Stephen Hemminger <[email protected]>
Acked-by: Anatoly Burakov <[email protected]>
Acked-by: Marat Khalili <[email protected]>
---
 app/test/test_cfgfile.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/app/test/test_cfgfile.c b/app/test/test_cfgfile.c
index 3a5078fc46..1e56473064 100644
--- a/app/test/test_cfgfile.c
+++ b/app/test/test_cfgfile.c
@@ -178,12 +178,8 @@ test_cfgfile_realloc_sections(void)
        ret = remove(filename);
        TEST_ASSERT_SUCCESS(ret, "Failed to remove file");
 
-       char tmp[PATH_MAX] = "/tmp/";
-#ifdef RTE_EXEC_ENV_WINDOWS
-       ret = GetTempPathA(sizeof(tmp), tmp);
-       TEST_ASSERT(ret > 0, "Failed to get tmp directory");
-#endif
-       snprintf(filename, sizeof(filename), "%s%s", tmp, "cfg_save.ini");
+       ret = make_tmp_file(filename, "save", "");
+       TEST_ASSERT(ret == 0, "Failed to make empty tmp filename for save");
 
        ret = rte_cfgfile_save(cfgfile, filename);
        TEST_ASSERT_SUCCESS(ret, "Failed to save to %s", filename);
-- 
2.51.0

Reply via email to