[ET Trac] [Einstein Toolkit] #899: Push testsuite results to a git repository
Einstein Toolkit
trac-noreply at einsteintoolkit.org
Wed May 16 02:28:45 CDT 2012
#899: Push testsuite results to a git repository
--------------------------+-------------------------------------------------
Reporter: eschnett | Owner:
Type: enhancement | Status: new
Priority: major | Milestone:
Component: Cactus | Version:
Resolution: | Keywords:
--------------------------+-------------------------------------------------
Comment (by hinder):
I have been doing this in the development autotest system. The system
runs the tests on both 1 and 2 processes in separate simfactory
simulations (in the queuing system), waits for them to finish, and then
commits the output directories (i.e. TEST/<config>) to a results
repository. The results repository is hosted on git.barrywardell.net, and
there is a gitweb interface to it. You can see this at
http://git.barrywardell.net/EinsteinToolkitTestResults.git. Click on
"tree" to see the results of each run. This contains the build log, the
log from the autotest system, and the TEST directory from the 1 and 2
process runs (including the summary log and all output). In future, I
would do this on multiple machines, and the results from each machine
might be pushed to separate branches in the same repository.
Comparing your suggestions with my approach, there are a couple of
differences.
1. I identify a set of simulations run on different numbers of processes
as a "test run", as this is the logical unit that is always tested
together. Having to manage sets of simulations is harder than managing a
single "test run" composed of multiple simulations.
2. I find it useful to have a single repository where each commit
represents a different test run. This allows you to track any changes
between runs using standard git tools. If we also had separate branches
for different machines, then the usual git tools would also allow you to
compare between branches. This also means that you cannot expire old runs
from the repository, and the repository grows in size without limit. Git
only stores one copy of identical files, and also does delta compression
between revisions. Both of these should significantly mitigate the size
requirement. For reference, with 214 test runs, the repository is 363 MB.
3. I'm not sure if you were intending to store just the summary.log files
or also the test output data in the repository. Maybe it would be enough
to store the log files and the diffs, rather than the output data itself,
though having the output data has been useful to me in the past
If this was implemented in Cactus, I would not have to wait for the
simulations to finish, as once they were submitted, they would be
autonomous. This would be a good thing. In order to have a single commit
for both 1 and 2 process tests, each simulation could check whether it was
the last one to run, and only the last one would do the commit.
git might not be available on the compute nodes where the test suites are
run. This is true on Datura. In principle we could build git as part of
the ET and store the executable in the simulation directory for systems
where this was the case.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/899#comment:1>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
More information about the Trac
mailing list