mirror of https://gitee.com/openkylin/libvirt.git
testutils: remove now unused virTestCaptureProgramOutput
Signed-off-by: Ján Tomko <jtomko@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
cf17015fde
commit
090ad3cf39
|
@ -329,90 +329,6 @@ virTestLoadFileJSON(const char *p, ...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifndef WIN32
|
|
||||||
static
|
|
||||||
void virTestCaptureProgramExecChild(const char *const argv[],
|
|
||||||
int pipefd)
|
|
||||||
{
|
|
||||||
size_t i;
|
|
||||||
int open_max;
|
|
||||||
int stdinfd = -1;
|
|
||||||
const char *const env[] = {
|
|
||||||
"LANG=C",
|
|
||||||
NULL
|
|
||||||
};
|
|
||||||
|
|
||||||
if ((stdinfd = open("/dev/null", O_RDONLY)) < 0)
|
|
||||||
goto cleanup;
|
|
||||||
|
|
||||||
open_max = sysconf(_SC_OPEN_MAX);
|
|
||||||
if (open_max < 0)
|
|
||||||
goto cleanup;
|
|
||||||
|
|
||||||
for (i = 0; i < open_max; i++) {
|
|
||||||
if (i != stdinfd &&
|
|
||||||
i != pipefd) {
|
|
||||||
int tmpfd;
|
|
||||||
tmpfd = i;
|
|
||||||
VIR_FORCE_CLOSE(tmpfd);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dup2(stdinfd, STDIN_FILENO) != STDIN_FILENO)
|
|
||||||
goto cleanup;
|
|
||||||
if (dup2(pipefd, STDOUT_FILENO) != STDOUT_FILENO)
|
|
||||||
goto cleanup;
|
|
||||||
if (dup2(pipefd, STDERR_FILENO) != STDERR_FILENO)
|
|
||||||
goto cleanup;
|
|
||||||
|
|
||||||
/* SUS is crazy here, hence the cast */
|
|
||||||
execve(argv[0], (char *const*)argv, (char *const*)env);
|
|
||||||
|
|
||||||
cleanup:
|
|
||||||
VIR_FORCE_CLOSE(stdinfd);
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
virTestCaptureProgramOutput(const char *const argv[], char **buf, int maxlen)
|
|
||||||
{
|
|
||||||
int pipefd[2];
|
|
||||||
int len;
|
|
||||||
|
|
||||||
if (virPipeQuiet(pipefd) < 0)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
pid_t pid = fork();
|
|
||||||
switch (pid) {
|
|
||||||
case 0:
|
|
||||||
VIR_FORCE_CLOSE(pipefd[0]);
|
|
||||||
virTestCaptureProgramExecChild(argv, pipefd[1]);
|
|
||||||
|
|
||||||
VIR_FORCE_CLOSE(pipefd[1]);
|
|
||||||
_exit(EXIT_FAILURE);
|
|
||||||
|
|
||||||
case -1:
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
default:
|
|
||||||
VIR_FORCE_CLOSE(pipefd[1]);
|
|
||||||
len = virFileReadLimFD(pipefd[0], maxlen, buf);
|
|
||||||
VIR_FORCE_CLOSE(pipefd[0]);
|
|
||||||
if (virProcessWait(pid, NULL, false) < 0)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
return len;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#else /* !WIN32 */
|
|
||||||
int
|
|
||||||
virTestCaptureProgramOutput(const char *const argv[] G_GNUC_UNUSED,
|
|
||||||
char **buf G_GNUC_UNUSED,
|
|
||||||
int maxlen G_GNUC_UNUSED)
|
|
||||||
{
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
#endif /* !WIN32 */
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
virTestRewrapFile(const char *filename)
|
virTestRewrapFile(const char *filename)
|
||||||
{
|
{
|
||||||
|
|
|
@ -46,8 +46,6 @@ char *virTestLoadFilePath(const char *p, ...)
|
||||||
virJSONValuePtr virTestLoadFileJSON(const char *p, ...)
|
virJSONValuePtr virTestLoadFileJSON(const char *p, ...)
|
||||||
G_GNUC_NULL_TERMINATED;
|
G_GNUC_NULL_TERMINATED;
|
||||||
|
|
||||||
int virTestCaptureProgramOutput(const char *const argv[], char **buf, int maxlen);
|
|
||||||
|
|
||||||
void virTestClearCommandPath(char *cmdset);
|
void virTestClearCommandPath(char *cmdset);
|
||||||
|
|
||||||
int virTestDifference(FILE *stream,
|
int virTestDifference(FILE *stream,
|
||||||
|
|
Loading…
Reference in New Issue