LTP-00000000
------------
o	Testcases have been organized into categories in a directory 
	structure under the testcases subdirectory
o	About 400 new testcases added covering various system calls
o	Andreas Jaeger got confirmation from the glibc people that the
	ulimit test was broken as a result of some changes made in 
	glibc2.2.5.  Since it's the test that's broken, Nate Straz 
	removed the offending testcase.
o	Updated README and INSTALL files
o	Descriptions of the testcases have been added to the doc 
	directory and are organized by type (syscalls.txt, fs.txt, etc.)

------------
2000-09-18 Juan J. Quintela <quintela@fi.udc.es>
           Aaron Laffin <alaffin@sgi.com>

  * tests/mmap001.c: first checkin of a modified version of
  mmap001.c from the memtest suite.

2000-09-08  Egor Duda <deo@logos-m.ru>

	* tests/fpathconf01.c: Close opened file at exit.
	* tests/select01.c: Ditto.

2000-09-08  Andrea Arcangeli <andrea@suse.de>
  * tests/fcntl09.c, tests/fcntl10.c: Rearrange the F_SETLK test to
  to correctly use F_RDLCK and F_WRLCK.

2000-09-06  Egor Duda  <deo@logos-m.ru>

	* lib/parse_opts.c (parse_opts): Initialize allocated string
	to prevent heap corruption.

