cleanup.
Description:
Removed the old command that parses setenv2 and setenv3 which are
replaced by setenvN.
Platforms tested:
No h5committest since it does not test this script.
Pretty sure it works.
new feature
Description:
Added the -setup option so that it can setup the snapshot test
directory structure. This will help the setup of snapshot test
in a new machine, especially remote machine much easier.
Platforms tested:
no h5committest becuase it does not test this script.
Tested in tg-ncsa.
Bug fix
Description:
The op-snapshot checkout "ate" the next option by mistake.
Solution:
Remove the extra shift.
Platforms tested:
Can't really test it without doing a real snapshot test.
Pretty sure it is correct and will watch the result tomorrow.
Misc. update:
Improvement
Description:
The -w timeout option is not supported by all hosts.
Added the "ping -c 3" possible PING command.
Platforms tested:
Tested in eirene by hand only.
Misc. update:
new feature
Description:
Added a new option of "setenvN" which does
set environment variable with $1 values
e.g., setenvN 3 x a b c is same as setenv x="a b c".
Platforms tested:
No h5committest. Tested by hand in copper.
Misc. update:
new feature
Description:
Added a new test option of
op-snapshot <option> snapshot option
This allows snapshot.cfg to tell runtest to run snapshot with a
special option.
Platforms tested:
Not h5committest because it is outside of its scope.
Tested by hand.
Misc. update:
Bug fix
Description:
If the base directory (.../snapshot-...) does not exist yet,
the runtest and snapshot will continue on till it bumped into
a "wall".
Solution:
Added verification that the BASEDIR does exist.
bug fixes
Description:
The "fs flush" actually discards the local caches information,
NOT pushing the local file out to the servers. It does not
help the AFS problems we had but probably made it worse by
creating more demands on the servers.
Solution:
Removed the FLUSH_FILES code.
Platforms tested:
Can't be tested by h5committest and I am pretty sure the
change is safe.
Misc. update:
feature.
Description:
Added the option of "setenv3" which sets the environment variable
that has three components like env AR="ar -X 64". It is another
kludge like setenv2. Got to code in a better 'setenv' option.
Platforms tested:
Copper (because its -64 compiling needs that AR set as above).
Eirene (where it usually launches).
Did not do h5committest which does not test bin/runtest.
Misc. update:
New Feature
Description:
Some machine has a different hostname from its official name (e.g., copper
is called Cu12) and some machine name are dynamic aliases (e.g., titan is
mapped user01 or user02). Some names are cryptic (who could remember
hn0? are platinum hosts while user0? are for titan). We had to hardcode
those names into the snaptest.cfg file. An ongoing maintenance PAIN.
Solution:
Added -configname <name> option where
"use <name> as hostname in the parsing of the snaptest configure file"
Changed RSH code to append the hostname used in the Allhostfile. Now, we
need not worry about machine name mapped to a different host and it is
much cleaner to match up entries between allhostfile and snaptest.cfg files.
Platforms tested:
Did not use h5committest which does not cover this code.
Tested in eirene, titan, platinum and copper.
Misc. update:
Improvement
Description:
Added a 5 seconds timeout to the PING command so that it can detect
host not online quicker.
Platforms tested:
The three platforms tests do not cover this command.
Test it in eirene where it is usually run.
Misc. update:
Bug fix.
Description:
n_test must be inited to 1 when it is for tests within one machine.
Undid my previous mistake.
Platforms tested:
Eirene.
Did not do the h5committest because this is a script and if it works
in one machine, it most like will work in all Unix platform.
Misc. update:
new feature and some bug fixes
Description:
Add a new feature to "skip" some tests.
Sometimes, a machine has problem (e.g. titan and sleipnir having AFS
problems). Sometimes some feature in a machine is temporary off (e.g.,
PGI compilers in eirene.) The tests will be reported being SKIPPED
which will be reminder to remove the skipping once the problem is fixed.
I installed the skipping control in snaptest.cfg rather than in
allhostsfile to have a finer control to skip just a subset of the
tests of a machine, rather than skipping the all tests of a machine.
Bug fixes: fixed the miscounting of number of tests ran. It was
reporting one too many.
Platforms tested:
Only tested in eirene since eirene is the one uses it directly.
Misc. update:
New feature
Description:
Added feature to print a summary of total number of tests and time spent
in each host.
Platforms tested:
Did not run h5committest because it does not test this script.
Did test it out in eirene and burrwhite.
Misc. update:
No document change.
feature
Description:
Removed the search of HDF4 library specifically.
Replaced the locate_hdf4 with a more general locate_sw.
Added the search of zlib.
Platforms tested:
eirene and all hdf group machines.
Feature/bug fix
Description:
The 'snapshot diff' command is run in all cases, even after the initial
"snapshot diff" and hosts are polled to run the test. It would not cause
any harm except wasting time repeating diff'ing. Also, the path is
quite right to invoke snapshot by merely "bin/snapshot diff" since it
has not "cd" to the right directory yet.
Solution:
Added a new option of "-nodiff" to skip the special diff request.
Then make "runtest" to call itself again with it to prevent
any further unnecessary diff'ing.
Platforms tested:
eirene
New feature
Description:
"snapshot diff" will just run the diff and exit 0 is no significant
differences found between current and previous versions.
Runtest will try a "snapshot diff" and will skip test if no significant
differences are found.
Platforms tested:
eirene
New feature
Description:
Replacing the hardcoding of default version for snapshot test
to a file, bin/snapshot_version. This way, runtest and snapshot
can be version neutral. Makes maintenance easier.
Platforms tested:
eirene.
Feature
Description:
The output of multiple tests of one host used to all go to the same
logfile. It is harder to find the beginning of each test.
Solution:
Added hour and minute (HHMM) into the logfile name. Different
tests should go to different files now. If a second test starts
within a minute of the previous test, their output will be all
in the same file. In the case, there are probably not that much
output to worry.
Platforms tested:
eirene
kludge
Description:
Somehow if consecutive "rsh houdin -n ..." are issued too close,
a "Connection refused" result. Then /usr/local/krb5/rsh falls
back to ordinary rsh protocal which of course won't work either.
Solution:
if the houdin to be tested is houdin, wait for 5 seconds before
launching the 'rsh ...' command. Hopefully the system admin can
fix the rsh problem.
Platforms tested:
eirene talking to houdin.
Feature (actually a kludge)
Description:
The old "setenv" option for the snaptest.cfg cannot handle
if there are white spaces in the setenv value part.
Added a "setenv2" that expects the value consists of 2 parts.
A better solution (like can parse in double quoted values) is
needed.
Platforms tested:
eirene with houdin (solaris 2.7)
feature
Description:
Recognize command line argument in the form of '--*' as
a configure command option by default. Since all normal
configure options are in the form of '--*', this will
simplify the "op-configure <option>" syntax. The latter
syntax is still kept in case one would want to pass in
some configure argument that does not fit this syntax.
Platforms tested:
Eirene.
Bug fix.
Description:
Did not update the expected strings for result of grand total test
time. Causing a false report of test failed to complete.
Solution:
Update the strings.
Platforms tested:
Eirene and modi4.
Bug fix
Description:
The previous coding using sed was not portable for all Unix
systems. Much easier to use 'cut' to parse the strings.
Platforms tested:
eirene
Bug fix
Description:
when a snaptest did not complete, it reported it as a failure
of the launching host, rather than the testing host.
Changed it to report the testing host.
Feature
Description:
Changed some output format.
Improved the CHECK_RSH to better report the result when failed.
Platforms tested:
eirene with nosuch and shalom. (made sure failures do occur)
Feature
Description:
Added the feature that ALLHOSTS can be set via the file
allhostfile in the snapshot directory. This reduces the
need to modify runtest for hosts changes.
Platforms tested:
eirene (did dry runs).
adjustment
Description:
When gondolin failed the 1.5 test, it moved ahead for the 1.4 test.
The 1.5 test usually takes 1 hour to complete but runtest only waited
30 minutes for the 1.4 cvs update to complete. So, gondolin ended
up failing the 1.4 test too.
Solution:
Changed the wait time to 90 minutes.
Added echo statements showing it is waiting for some event. This
would help the human knowing it is waiting for something.
Added more comments about the algorithm of the waiting.
Platforms tested:
Gotta be right. :-)
new feature
Description:
Added a new option -nocvs for no cvs commands.
Added a locking mechanism to show CVS checkout in progress
and other hosts should wait till it is done.
Platforms tested:
gondolin
Bug fix
Description:
Updated its default H5DIR value to the correct version branch
it is in now.
Platforms tested:
Will be tested by the daily test cron job.
New feature
Description:
Added a -debug line option and will pass it to other runtest invoked.
Removed the restriction of running one test per host. This way,
tests of different tests (e.g., with or without fortran) can be
run per host with all output saved in one log file.
Platforms tested:
Tried several runs of daily test.
Bug fix (feature)
Description:
It did not recognize the op-configure keyword as a possible
type of test.
Solution:
Added the feature to handle op-configure.
Platforms tested:
Linux, freebsd.
Bug fix, feature, cleaning code
Description:
It could not find bin/locate_hdf5.
Solution:
Explicitedly use the bin/locate_hdf5 in the snapshots/current area.
Also, added Usage page to be printed when -h(elp) is asked or when
there is error in command option.
Cleaned some old code no longer used.
Platforms tested:
eirene