/* * PROJECT: ReactOS CRT * LICENSE: MIT (https://spdx.org/licenses/MIT) * PURPOSE: Tests for system() * COPYRIGHT: Copyright 2023 Katayama Hirofumi MZ */ #include #include START_TEST(system) { int ret; CHAR szCmdExe[MAX_PATH]; GetSystemDirectoryA(szCmdExe, _countof(szCmdExe)); lstrcatA(szCmdExe, "\\cmd.exe"); SetEnvironmentVariableA("COMSPEC", NULL); errno = 0xDEADBEEF; ret = system(NULL); ok_int(errno, 0xDEADBEEF); ok_int(ret, 1); SetEnvironmentVariableA("COMSPEC", "InvalidComSpec"); errno = 0xDEADBEEF; ret = system(NULL); ok_int(errno, 0xDEADBEEF); ok_int(ret, 1); SetEnvironmentVariableA("COMSPEC", szCmdExe); errno = 0xDEADBEEF; ret = system(NULL); ok_int(errno, 0xDEADBEEF); ok_int(ret, 1); SetEnvironmentVariableA("COMSPEC", NULL); errno = 0xDEADBEEF; ret = system("echo This is a test"); ok_int(errno, 0); ok_int(ret, 0); SetEnvironmentVariableA("COMSPEC", "InvalidComSpec"); errno = 0xDEADBEEF; ret = system("echo This is a test"); ok_int(errno, 0); ok_int(ret, 0); SetEnvironmentVariableA("COMSPEC", szCmdExe); errno = 0xDEADBEEF; ret = system("echo This is a test"); ok_int(errno, 0); ok_int(ret, 0); SetEnvironmentVariableA("COMSPEC", NULL); errno = 0xDEADBEEF; ret = system("InvalidCommandLine"); ok_int(errno, 0); ok_int(ret, 1); SetEnvironmentVariableA("COMSPEC", "InvalidComSpec"); errno = 0xDEADBEEF; ret = system("InvalidCommandLine"); ok_int(errno, 0); ok_int(ret, 1); SetEnvironmentVariableA("COMSPEC", szCmdExe); errno = 0xDEADBEEF; ret = system("InvalidCommandLine"); ok_int(errno, 0); ok_int(ret, 1); }