TO RUN TEST

1. "/tmp" directory must exist and must be writable by the user who will
  run this test.
  e.g. the following should be done by a gfarm administrator:
	gfmkdir /tmp
	gfchmod 777 /tmp

2. run "make check"

optional variables:
	$GFARM_TEST_CKSUM_MISMATCH=<path>
					... a file which causes cksum mismatch
	$GFARM_TEST_MDS2=<host>:<port>	... optional gfmd
	$GFARM_TEST_MDS3=<host>:<port>	... optional gfmd
	$GFARM_TEST_MDS4=<host>:<port>	... optional gfmd

optional conditions:
	- whether this user have the gfarmadm group privilege or not.
	- whether this user have the gfarmroot group privilege or not.
	- whether there are at least two filesystem nodes or not.
	- whether there are at least two users or not.
	- whether XML attribute is enabled by the configure command or not.
	- whether cksum calculation is enabled or not.
	- whether client-side cksum calculation is enabled or not.
	- which cksum type is set
	- whether $GFARM_TEST_CKSUM_MISMATCH is set or not
	- the $GFARM_TEST_CKSUM_MISMATCH is larger than client_file_bufsize
	- whether $GFARM_TEST_MDS* is set or not

TO WRITE TEST
- each test should be independent from other test.
i.e.
- each test shouldn't assume the order of the tests.
- each test should clear the changes made by the test before exiting.
- each test should be able to be executed simultaneously on multiple hosts
  and multiple "make check" on same host.
  that means names of temporary files should be unique even on different hosts.
  $gftmp variable includes a hostname as well as PID due to this reason.
  $localtmp only includes PID because it's only used for a local filesystem
  instead of a gfarm filesystem.
- each test should preserve filesystem contents and user, group,
  host and fsngroup settings.  although it's OK to change them temporarily
  during the test.

TODO
- test by root?

