Sat Oct 25 18:38:56 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Add scripts to skip the e_brel_bma and e_irel_ima tests (since
		they have been removed from the library for now)

Thu Aug 14 11:25:23 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* f_badinode: Modify test to check for "bad" character and block
		devices (i.e., ones which contain garbage block entries)

Tue Jun 17 01:33:20 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs 1.11

Thu Apr 24 12:16:42 1997  Theodre Ts'o  <tytso@localhost.mit.edu>

	* Release of E2fsprogs version 1.10

Thu Apr 17 12:23:38 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.09

Fri Apr 11 18:56:26 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.08

Wed Mar 26 09:29:25 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* e_icount_normal, e_icount_opt: New tests which validate the
		icount abstraction.

	* test_script.in: New feature; an argument of a single character
		means do all the tests in that series.

Tue Mar 18 15:11:04 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* test_config (LANG): Set the language to be C so that the brel
		and irel tests don't fail.

Wed Mar 12 13:32:05 1997  Theodore Y. Ts'o  <tytso@mit.edu>

	* Release of E2fsprogs version 1.07

Thu Mar  6 23:23:07 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* f_misstable: New test case which checks what happens when the
		inode table for a block group is missing

	* f_reconnect: New test case which makes sure a simple
		disconnected inode is properly handled.

Mon Dec  2 09:33:31 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* test_script.in: Add error checking to make sure a requested test
		exists.

Tue Oct 15 00:10:37 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* f_bbinode: New test case which exercises what happens when a bad
		block appears in the inode table.

Tue Oct  8 02:02:03 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.06

Mon Oct  7 07:52:41 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* f_preen: New test case which makes sure that e2fsck -p won't
 		bash the backup superblock in case of a corrupted master
 		superblock.
	
	* test_script.in: Let the environment variable TEST_CONFIG to
		override the location of the test_config file.  Move
		definition of TMP_DIR to test_config.

	* test_config: Add new defnitions for mke2fs, dumpe2fs, tune2fs,
		lsattr, and chattr.

Thu Sep 12 15:23:07 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.05

Mon Sep  9 23:09:47 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Makefile.in (check): Add explicit ./ to test_script invokation,
		since not all people will have "." in their path.

Tue Sep  3 15:13:05 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* test_config (PAGER): Unset pager to prevent debugfs forking a
 		pager, since the escape sequences confuse the expect
 		script.

Sun May 19 23:37:35 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* test_script: New feature; second optional argument allows
		developers to only run one test case.

	* f_crashdisk: New test case which contains a patently illegal
		superblock with a valid magic number.

Thu May 16 11:12:30 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.04

Wed May 15 21:41:29 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* f_illibitmap/expect.1, f_illbbitmap/expect.1: Changed
		expected output to reflect hint which e2fsck will print when
		there is a illegal block in the block group
		descriptors, pointing at a block bitmap, inode bitmap,
		or block in the inode table.

Wed Mar 27 00:33:40 1996    <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.03

Wed Jan 31 11:06:08 1996    <tytso@rsts-11.mit.edu>

	* Release of E2fsprogs version 1.02

Mon Sep  4 23:06:06 1995  Remy Card  <card@bbj>

	* Makefile.in (clean, distclean): Use the -f option when removing
		files.

Fri Aug 11 10:10:30 1995  Theodore Y. Ts'o  <tytso@lurch.mit.edu>

	* test_script: Count up the number of passed and failed tests by
		tallying the *.ok and *.failed files.

	* run_e2fsck: Create foo.ok and foo.failed files when tests
		succeed or fail, respectively.

	* test_config (TZ): Set the timezone to be GMT, so that test
		results are consistent.

