Pass read/write CRx registers to userspace
[freebsd-src/fkvm-freebsd.git] / tools / regression / tmpfs / t_remove
blob80b8986952f80368809ce1b986f9fd1ed30f5aea
1 #!/bin/sh
3 # $NetBSD: t_remove,v 1.7.2.1 2007/01/04 20:29:50 bouyer Exp $
5 # Copyright (c) 2005, 2006 The NetBSD Foundation, Inc.
6 # All rights reserved.
8 # This code is derived from software contributed to The NetBSD Foundation
9 # by Julio M. Merino Vidal, developed as part of Google's Summer of Code
10 # 2005 program.
12 # Redistribution and use in source and binary forms, with or without
13 # modification, are permitted provided that the following conditions
14 # are met:
15 # 1. Redistributions of source code must retain the above copyright
16 # notice, this list of conditions and the following disclaimer.
17 # 2. Redistributions in binary form must reproduce the above copyright
18 # notice, this list of conditions and the following disclaimer in the
19 # documentation and/or other materials provided with the distribution.
20 # 3. All advertising materials mentioning features or use of this software
21 # must display the following acknowledgement:
22 # This product includes software developed by the NetBSD
23 # Foundation, Inc. and its contributors.
24 # 4. Neither the name of The NetBSD Foundation nor the names of its
25 # contributors may be used to endorse or promote products derived
26 # from this software without specific prior written permission.
28 # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
29 # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
30 # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
31 # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
32 # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
33 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
34 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
35 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
36 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38 # POSSIBILITY OF SUCH DAMAGE.
40 # $FreeBSD$
44 # Verifies that the remove operation works.
47 test_run() {
48 test_mount
50 test_name "Files can be removed"
51 test -f a && die
52 touch a || die
53 test -f a || die
54 rm a || die
55 test -f a && die
57 test_name "Files with uchg flags cannot be removed"
58 touch a || die
59 chflags uchg a || die
60 #Not valid case in FreeBSD
61 #rm -f a 2>/dev/null && die
62 chflags nouchg a || die
63 rm a || die
64 test -f a && die
66 test_name "The node . cannot be unlinked"
67 mkdir a || die
68 unlink a/. 2>/dev/null && die
69 rmdir a
71 mkdir dir || die
72 touch dir/a || die
73 echo 'rm dir/a' | kqueue_monitor 2 dir dir/a || die
74 test_name "Deleting a file raises NOTE_DELETE on it"
75 kqueue_check dir/a NOTE_DELETE || die
76 test_name "Deleting a file raises NOTE_WRITE on the parent directory"
77 kqueue_check dir NOTE_WRITE || die
78 rmdir dir || die
80 test_unmount
83 . ${SUBRDIR}/h_funcs.subr