Boost Testing :
Subject: Re: [Boost-testing] revisions and timestamps
From: Beman Dawes (bdawes_at_[hidden])
Date: 2014-01-21 17:48:46
On Tue, Jan 21, 2014 at 8:51 AM, Daniel James <dnljms_at_[hidden]> wrote:
> On 21 January 2014 03:11, Beman Dawes <bdawes_at_[hidden]> wrote:
> >> > We can get the committer date for a revision using:
> >> >
> >> > git show --pretty="format:%cd" --no-patch HEAD
> >> >
> >> General agreement on this? Who is knowledgeable enough to make your
> >> proposed changes to the scripts?
> > You are!
> > A time-stamp (in addition to the SHA) would be very useful.
> > You probably don't need to change any of the python or shell scripts.
> > change the reporting program or programs. They are straightforward C++.
> > boost/tools/regression/src/report for the source code. Hopefully it is a
> > very localized change. Look at the log for a recent commit where the
> > revision was changed to report the SHA for the exact location where code
> > needs to be inserted. See the report generation docs for how to build and
> > run reports.
> Does the reporting program have access to a git repo?
Yes. It has a local repo, so I assume the reporting program should be able
to do anything you could do from the command line.
> If not then this
> information needs to be stored earlier in the process which makes it
The tricky part, associating the tester with a SHA has already been done.
See develop boost-root\tools\regression\src\report\common.cpp line 480.
> I'm not set up to run regression tests so I won't be able to
> implement this.
You don't need to run regression tests. You only need to be able to run the
regression reporting, which is very easy. See
tools/regression/doc/reports.html. A run only takes a couple of minutes, so
testing moves quickly.
> Maybe if I wrote a python function to get the date
> someone could incorporate it into the script output?
If you wrote a C++ function, it would be far easier, since the reporting is
done is C++. Stick the function in develop
boost-root\tools\regression\src\report\common.cpp, then after line 480 call
it something like this:
"Date: " <<
get_the_date_as_a_string_given_the_sha_as_a_string(run.revision) << "\n"
And you are done:-) You might want to pick a shorter name, of course.