From 33304497d768985deb174668c1601ba2d45f8b88 Mon Sep 17 00:00:00 2001 From: pooka Date: Tue, 13 Apr 2010 10:21:47 +0000 Subject: [PATCH] Add msdosfs snapshot test. This one just slightly different from the ffs test because msdosfs doesn't support VFS_SNAPSHOT, only VFS_SUSPEND, i.e. we need external storage for the snapshot instead of internal storage. --- tests/fs/msdosfs/Atffile | 6 ++++ tests/fs/msdosfs/Makefile | 14 ++++++++++ tests/fs/msdosfs/t_snapshot.c | 52 +++++++++++++++++++++++++++++++++++ 3 files changed, 72 insertions(+) create mode 100644 tests/fs/msdosfs/Atffile create mode 100644 tests/fs/msdosfs/Makefile create mode 100644 tests/fs/msdosfs/t_snapshot.c diff --git a/tests/fs/msdosfs/Atffile b/tests/fs/msdosfs/Atffile new file mode 100644 index 000000000000..5d51f4c9025b --- /dev/null +++ b/tests/fs/msdosfs/Atffile @@ -0,0 +1,6 @@ +Content-Type: application/X-atf-atffile; version="1" +X-NetBSD-Id: "$NetBSD: Atffile,v 1.1 2010/04/13 10:21:47 pooka Exp $" + +prop: test-suite = "NetBSD" + +tp-glob: t_* diff --git a/tests/fs/msdosfs/Makefile b/tests/fs/msdosfs/Makefile new file mode 100644 index 000000000000..f8e474e891b4 --- /dev/null +++ b/tests/fs/msdosfs/Makefile @@ -0,0 +1,14 @@ +# $NetBSD: Makefile,v 1.1 2010/04/13 10:21:47 pooka Exp $ +# + +TESTSDIR= ${TESTSBASE}/fs/msdosfs +WARNS= 4 + +TESTS_C= t_snapshot + +LDADD+=-lrumpfs_msdos -lrumpfs_tmpfs # fs drivers +LDADD+=-lrumpdev_fss # snapshot dev +LDADD+=-lrumpdev_disk -lrumpdev # disk device +LDADD+=-lrumpvfs -lrump -lrumpuser -lpthread # base + +.include diff --git a/tests/fs/msdosfs/t_snapshot.c b/tests/fs/msdosfs/t_snapshot.c new file mode 100644 index 000000000000..4d8dd328c9ec --- /dev/null +++ b/tests/fs/msdosfs/t_snapshot.c @@ -0,0 +1,52 @@ +/* $NetBSD: t_snapshot.c,v 1.1 2010/04/13 10:21:47 pooka Exp $ */ + +#include +#include + +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "../../h_macros.h" + +#define IMGNAME "msdosfs.img" +#define NEWFS "newfs_msdos -C 5M " IMGNAME +#define BAKNAME "/stor/snap" + +static void +mount_diskfs(const char *fspec, const char *path) +{ + struct msdosfs_args margs; + + memset(&margs, 0, sizeof(margs)); + margs.fspec = __UNCONST(fspec); + margs.version = MSDOSFSMNT_VERSION; + + if (rump_sys_mount(MOUNT_MSDOS, path, 0, &margs, sizeof(margs)) == -1) + err(1, "mount msdosfs %s", path); +} + +static void +begin(void) +{ + struct tmpfs_args targs; + + targs.ta_version = TMPFS_ARGS_VERSION; + + if (rump_sys_mkdir("/stor", 0777) == -1) + atf_tc_fail_errno("mkdir /stor"); + if (rump_sys_mount(MOUNT_TMPFS, "/stor", 0, &targs,sizeof(targs)) == -1) + atf_tc_fail_errno("mount storage"); +} + +#include "../common/snapshot.c"