tests: log api reboot test failures

parent 096bf70c
...@@ -29,17 +29,46 @@ ...@@ -29,17 +29,46 @@
#include "lxc/lxccontainer.h" #include "lxc/lxccontainer.h"
#include "lxctest.h" #include "lxctest.h"
#include "utils.h"
#ifndef HAVE_STRLCPY
#include "include/strlcpy.h"
#endif
#define TSTNAME "lxc-api-reboot"
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
int i; int i;
struct lxc_container *c; struct lxc_container *c;
int ret = EXIT_FAILURE; int ret = EXIT_FAILURE;
struct lxc_log log;
char template[sizeof(P_tmpdir"/reboot_XXXXXX")];
(void)strlcpy(template, P_tmpdir"/reboot_XXXXXX", sizeof(template));
i = lxc_make_tmpfile(template, false);
if (i < 0) {
lxc_error("Failed to create temporary log file for container %s\n", TSTNAME);
exit(EXIT_FAILURE);
} else {
lxc_debug("Using \"%s\" as temporary log file for container %s\n", template, TSTNAME);
close(i);
}
log.name = TSTNAME;
log.file = template;
log.level = "TRACE";
log.prefix = "reboot";
log.quiet = false;
log.lxcpath = NULL;
if (lxc_log_init(&log))
exit(ret);
/* Test that the reboot() API function properly waits for containers to /* Test that the reboot() API function properly waits for containers to
* restart. * restart.
*/ */
c = lxc_container_new("reboot", NULL); c = lxc_container_new(TSTNAME, NULL);
if (!c) { if (!c) {
lxc_error("%s", "Failed to create container \"reboot\""); lxc_error("%s", "Failed to create container \"reboot\"");
exit(ret); exit(ret);
...@@ -120,8 +149,24 @@ on_error_stop: ...@@ -120,8 +149,24 @@ on_error_stop:
on_error_put: on_error_put:
lxc_container_put(c); lxc_container_put(c);
if (ret == EXIT_SUCCESS) if (ret == EXIT_SUCCESS) {
lxc_debug("%s\n", "All reboot tests passed"); lxc_debug("%s\n", "All reboot tests passed");
} else {
int fd;
fd = open(template, O_RDONLY);
if (fd >= 0) {
char buf[4096];
ssize_t buflen;
while ((buflen = read(fd, buf, 1024)) > 0) {
buflen = write(STDERR_FILENO, buf, buflen);
if (buflen <= 0)
break;
}
close(fd);
}
}
(void)unlink(template);
exit(ret); exit(ret);
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment