tests: cleanup snapshot.c

Signed-off-by: 2xsec <dh48.jeong@samsung.com>
This commit is contained in:
2xsec 2018-07-03 18:25:54 +09:00
parent 70b12b4a83
commit 63f769f9c5
No known key found for this signature in database
GPG Key ID: 0BE2750EE612F372

View File

@ -32,23 +32,28 @@
static void try_to_remove(void) static void try_to_remove(void)
{ {
struct lxc_container *c; struct lxc_container *c;
c = lxc_container_new(RESTNAME, NULL); c = lxc_container_new(RESTNAME, NULL);
if (c) { if (c) {
c->snapshot_destroy_all(c); c->snapshot_destroy_all(c);
if (c->is_defined(c)) if (c->is_defined(c))
c->destroy(c); c->destroy(c);
lxc_container_put(c); lxc_container_put(c);
} }
c = lxc_container_new(MYNAME2, NULL); c = lxc_container_new(MYNAME2, NULL);
if (c) { if (c) {
c->destroy_with_snapshots(c); c->destroy_with_snapshots(c);
lxc_container_put(c); lxc_container_put(c);
} }
c = lxc_container_new(MYNAME, NULL); c = lxc_container_new(MYNAME, NULL);
if (c) { if (c) {
c->snapshot_destroy_all(c); c->snapshot_destroy_all(c);
if (c->is_defined(c)) if (c->is_defined(c))
c->destroy(c); c->destroy(c);
lxc_container_put(c); lxc_container_put(c);
} }
} }
@ -66,6 +71,7 @@ int main(int argc, char *argv[])
template = argv[1]; template = argv[1];
try_to_remove(); try_to_remove();
c = lxc_container_new(MYNAME, NULL); c = lxc_container_new(MYNAME, NULL);
if (!c) { if (!c) {
fprintf(stderr, "%s: %d: failed to load first container\n", __FILE__, __LINE__); fprintf(stderr, "%s: %d: failed to load first container\n", __FILE__, __LINE__);
@ -76,15 +82,19 @@ int main(int argc, char *argv[])
fprintf(stderr, "%d: %s thought it was defined\n", __LINE__, MYNAME); fprintf(stderr, "%d: %s thought it was defined\n", __LINE__, MYNAME);
(void) c->destroy_with_snapshots(c); (void) c->destroy_with_snapshots(c);
} }
if (!c->set_config_item(c, "lxc.net.0.type", "empty")) { if (!c->set_config_item(c, "lxc.net.0.type", "empty")) {
fprintf(stderr, "%s: %d: failed to set network type\n", __FILE__, __LINE__); fprintf(stderr, "%s: %d: failed to set network type\n", __FILE__, __LINE__);
goto err; goto err;
} }
c->save_config(c, NULL); c->save_config(c, NULL);
if (!c->createl(c, template, NULL, NULL, 0, NULL)) { if (!c->createl(c, template, NULL, NULL, 0, NULL)) {
fprintf(stderr, "%s: %d: failed to create %s container\n", __FILE__, __LINE__, template); fprintf(stderr, "%s: %d: failed to create %s container\n", __FILE__, __LINE__, template);
goto err; goto err;
} }
c->load_config(c, NULL); c->load_config(c, NULL);
if (c->snapshot(c, NULL) != 0) { if (c->snapshot(c, NULL) != 0) {
@ -110,13 +120,14 @@ int main(int argc, char *argv[])
fprintf(stderr, "%s: %d: failed listing containers\n", __FILE__, __LINE__); fprintf(stderr, "%s: %d: failed listing containers\n", __FILE__, __LINE__);
goto err; goto err;
} }
if (strcmp(s->name, "snap0") != 0) { if (strcmp(s->name, "snap0") != 0) {
fprintf(stderr, "%s: %d: snapshot had bad name\n", __FILE__, __LINE__); fprintf(stderr, "%s: %d: snapshot had bad name\n", __FILE__, __LINE__);
goto err; goto err;
} }
for (i=0; i<n; i++) {
for (i=0; i<n; i++)
s[i].free(&s[i]); s[i].free(&s[i]);
}
free(s); free(s);
if (!c->snapshot_restore(c, "snap0", RESTNAME)) { if (!c->snapshot_restore(c, "snap0", RESTNAME)) {
@ -152,13 +163,14 @@ int main(int argc, char *argv[])
fprintf(stderr, "%s: %d: failed listing containers\n", __FILE__, __LINE__); fprintf(stderr, "%s: %d: failed listing containers\n", __FILE__, __LINE__);
goto err; goto err;
} }
if (strcmp(s->name, "snap0") != 0) { if (strcmp(s->name, "snap0") != 0) {
fprintf(stderr, "%s: %d: snapshot had bad name\n", __FILE__, __LINE__); fprintf(stderr, "%s: %d: snapshot had bad name\n", __FILE__, __LINE__);
goto err; goto err;
} }
for (i=0; i<n; i++) {
for (i=0; i<n; i++)
s[i].free(&s[i]); s[i].free(&s[i]);
}
free(s); free(s);
if (!c2->snapshot_restore(c2, "snap0", NULL)) { if (!c2->snapshot_restore(c2, "snap0", NULL)) {
@ -177,6 +189,7 @@ good:
printf("All tests passed\n"); printf("All tests passed\n");
exit(0); exit(0);
err: err:
lxc_container_put(c); lxc_container_put(c);
try_to_remove(); try_to_remove();