Commit Graph

78 Commits

Author SHA1 Message Date
martin
11a6dbe728 Convert TNF licenses to new 2 clause variant 2008-04-30 13:10:46 +00:00
martin
ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
jmmv
9b7401e7cb Convert the regress/sys/fs/tmpfs tests to the atf
This change converts all the existing regression tests in
regress/sys/fs/tmpfs to the new framework provided by atf.  As a side
effect, this also moves all the tests programs in regress/sys/fs/tmpfs to
tests/fs/tmpfs.
2007-11-12 15:18:07 +00:00
jmmv
9b435895e8 Fix duplicate year in copyright notice. 2007-07-24 11:29:16 +00:00
jmmv
12f24779d1 Add some more tests to ensure that renaming a file to a directory and a
directory to a file fails with the appropriate error codes.  tmpfs still
fails these tests, but the fix is almost ready to go in.
2007-07-23 15:05:43 +00:00
jmmv
e92cf7fb11 Add test cases to ensure that:
1) Renaming a directory to an empty directory works by replacing the target
   directory.
2) Renaming a directory to a non-empty directory fails.
This is all by calling rename(2) directly, not mv(1).

tmpfs currently fails those tests, raising an assertion if DIAGNOSTIC is
enabled.  A fix will hopefully follow soon.

Found by pooka@.
2007-07-23 12:51:35 +00:00
pooka
69011e122a test that write to middle of file doesn't modify size 2007-03-11 10:09:17 +00:00
pooka
3161077c75 test unlink of "." is not succesful
jmmv ok
2007-01-02 11:04:10 +00:00
yamt
36706cd001 add #ifdef'ed out code to search valid directory cookies
for ufs-like filesystems.
2006-12-30 23:19:11 +00:00
pooka
6980d416b8 test the pipe: mknod pipe p creates a pipe named "pipe", not "p" 2006-12-07 10:00:39 +00:00
jmmv
2947e73b43 Move lfs_cleanerd from /usr/libexec to /libexec. This is to allow putting
the root file system on a LFS volume.

Addresses PR bin/30407.  No objections in tech-userlevel@.
2006-11-11 14:47:27 +00:00
jmmv
cff91bd8fc Add 2006 to the copyright notice; should have done this when touching the
files before.
2006-11-09 16:20:06 +00:00
jmmv
d1d4964327 Move the "Removal of current directory" test to t_rmdir from t_remove
because that's the operation we are issuing.  Adjust it to expect a
failure on further accesses to the removed directory.
2006-11-09 15:38:12 +00:00
jmmv
1befc83712 Add tests for vnd over tmpfs files. 2006-11-09 15:25:37 +00:00
jmmv
e8467243ef Add several checks to see if tmpfs raises the proper kqueue events during
operation.  These all match the behavior exposed by MFS (except for a
corner case that is described in t_link).

Fixes to tmpfs itself to make these tests pass will come soon.
2006-11-09 13:51:49 +00:00
jmmv
bd6b5f5dfe Catch an assertion failure that happens when accessing the current directory
after it has been deleted.
2006-11-07 14:07:12 +00:00
jmmv
346849f443 As pooka@ says, a rename has to change the file's ctime; make that explicit. 2006-10-30 15:22:54 +00:00
jmmv
286dc06fc6 Check that renaming a file does not change its times but does change the
ones of the directory holding it.
2006-10-30 15:08:09 +00:00
reinoud
c10891a2e7 Change the lseek tests to do two tests: in the middle and in the special
case, the last block of the file. In UFS this needs to be data.
2006-09-26 17:18:26 +00:00
reinoud
e2c2b53a9f Add test for in-file seeking for data; it should return the passed offset. 2006-09-21 22:09:20 +00:00
reinoud
6d14f6770d Add lseek tests for SEEK_DATA and SEEK_HOLE for a non sparse file. 2006-09-21 18:36:03 +00:00
reinoud
0b421a6019 Fix `make clean' bug... the file might not be present 2006-09-21 17:33:08 +00:00
reinoud
95e6648004 Use multiple stat() functions since their result can also be different. 2006-09-21 17:26:24 +00:00
reinoud
b32f83b095 Update lseek test to make it a bit more clever in printing sizes and remove
file size test.
2006-09-21 13:12:45 +00:00
reinoud
d2a1b4304c Create a file to be tested; in the current directory so thats not super but
better than relying on a file that might not exist.
2006-09-21 01:54:15 +00:00
reinoud
a06f598ad6 Add simple lseek() test on a standard file. Standard it runs on the
/var/log/messages file wich is most likely not interesting but the
regression test can work on every specified filingsystem by passing a file
on that filingsystem to it as argument.

It tests:
- initial position
- seeking absolute position
- seeking end
- seeking negative relative position

more can be added later.
2006-09-21 01:27:32 +00:00
martin
b4cb63a646 Make filehandles opaque to userland 2006-07-31 16:34:42 +00:00
perseant
b8eed86991 Include testing of the roll-forward agent, when recreating the filesystem
partial-segment by partial-segment.  Each checkpoint should pass fsck_lfs -n
without errors; the results of fsck_lfs -p on non-checkpoints should also
pass fsck_lfs -n without errors.
2006-07-21 00:29:23 +00:00
martin
a3b5baed42 Fix alignement problems for fhandle_t, exposed by gcc4.1.
While touching all vptofh/fhtovp functions, get rid of VFS_MAXFIDSIZ,
version the getfh(2) syscall and explicitly pass the size available in
the filehandle from userland.

Discussed on tech-kern, with lots of help from yamt (thanks!).
2006-07-13 12:00:24 +00:00
perseant
1c57171fe3 Change LFCNWRAP{STOP,GO} to make them more suitable for snapshotting; in
particular, the caller can now choose whether to wait for the condition
to be met, and if the caller of LFCNWRAPSTOP dies or otherwise closes
the descriptor, the filesystem is started again.  Updated the ckckp
regression test to use the new semantics.

dump_lfs(8) now uses the fcntls to implement LFS-style snapshotting through
the -X flag, addressing PR#33457 albeit not using fss(4).  Fixed a couple
other problems with dump_lfs that manifested themselves during testing.
2006-06-24 05:28:54 +00:00
mrg
03593f4470 #include <stdlib.h>. 2006-05-10 19:11:50 +00:00
perseant
ebcbbf8093 Tabify. 2006-05-05 19:42:07 +00:00
perseant
0f4e4cae54 Allow the user to specify a file size in the ckckp regression test, including
the value zero (filling the filesystem with directories and empty file
inodes).
2006-05-05 19:38:30 +00:00
perseant
635007e1aa Remember to empty the filesystem between iterations, otherwise all
iterations after the first are no-ops.
2006-05-01 19:47:01 +00:00
perseant
ebaf398270 Be a little more careful about what we copy into the working file when;
this takes care of another class of false positives.  Add copyright
assignments.
2006-04-27 22:37:54 +00:00
perseant
7cd0266a27 Regression test improvements:
Move the stop for LFCNWRAPSTOP to the point at which writing at segment 0
is really about to commence, since this is what the test expects (and
incidentally what a snapshotting utility wants as well).

More correctly reconstruct the on-disk state at every checkpoint, rather
than relying on the entire state at the point of wrapping to be accurate
(that is only true the first time we wrap).  Add a "make abort" target to
make rerunning the test more convenient when it has failed and we're done
analyzing the failure.
2006-04-22 00:10:54 +00:00
perseant
0268059112 Introduce two fcntl calls that freeze the filesystem right at the point
where segment 0 is being considered for writing.  This allows for automated
checkpoint vailidity scanning, and could be used (in conjunction with the
existing LFCNREWIND) for e.g. snapshot dumps as well.

Include a regression test that does such scanning.

When writing the Ifile, loop through the dirty block list three times to
make sure that the checkpoint is always consistent (the first and second
times the Ifile blocks can cross a segment boundary; not so the third time
unless the segments are very small).  Discovered by using the aforementioned
regression test.
2006-04-17 20:02:34 +00:00
simonb
972aec407b Make this regression test work with objdirs. 2006-04-16 16:21:05 +00:00
martin
4b70f3655f Use /dev/MAKEDEV to create devices - instead of hardcoding i386 majors. 2006-03-26 20:27:52 +00:00
jmmv
0eee8b4ede Decrement the size value passed to test-mount by one unit so that it fits
in a 64-bit signed integer (thus ensuring that mount_tmpfs handles these
correctly).

Also check that the previous (big) value fails.

This makes this test behave correctly on all platforms (not only 64-bit
ones) after the fix commited to mount_tmpfs.
2006-03-26 16:19:04 +00:00
martin
a090457a0b Ensure proper buffer alignement. OK'd by yamt. 2006-03-20 08:57:37 +00:00
jmmv
5f4c11af49 WARNS=4
One of the changes fixes Coverity CID 2468 (use of uninitialized error
variable in main).
2006-03-18 17:09:35 +00:00
rpaulo
cf7672baed Descend into posix_fadvise/ 2005-12-19 17:50:02 +00:00
yamt
f3d3b4af4f test posix_fadvise. 2005-11-22 12:18:43 +00:00
jmmv
456d1fea79 Check that symlinks to directories work as expected. 2005-10-03 19:38:57 +00:00
jmmv
7f4f9fe044 Check that both the kernel and mount_tmpfs handle extremely big numbers in
correctly in the max size parameter.
2005-09-26 09:50:53 +00:00
jmmv
b35a89f13c Sanity check negative values in the maximum size and number of nodes
arguments to avoid a crash while mounting a tmpfs file system.  Add a
regression test for this too.  Noticed by chs@.
2005-09-25 16:28:43 +00:00
jmmv
d83dd97e63 Make this test timezone-agnostic so that it works in different timezones.
Found by riz@.
2005-09-23 19:41:39 +00:00
jmmv
b0085cab71 Kill the tmpfs(9) manual page; it was just documenting internal details of
tmpfs' "API" and was already rotting.

Instead, merge all the relevant comments into the code.  This includes
acknowledgements to Google's Summer of Code 2005 program (they were in the
AUTHORS section of tmpfs(9) before), so all the files need to be changed
to include this sentence alongside the title.  (Note that this was not a
requirement of the program.)
2005-09-23 15:36:15 +00:00
jmmv
5d6f54160e Fix test after the changes to skip 0 and 1 node identifiers. 2005-09-23 14:11:15 +00:00