[cmake-developers] Perforce Patch for CTest

Pedro Navarro pnavarro at netflix.com
Mon Oct 21 20:56:36 EDT 2013


Attached is the latest version of the Perforce support patch for CTest.
I've added a test (CTest.UpdateP4) that launches a Perforce server
listening on a custom port and performs the same operations as other VCS
tools. Some release notes:

   - Unix is expected. Windows could work (it's a matter of changing how
   the Perforce service is started) but I have no Windows machines handy to
   add support for it.
   - The Perforce p4 and p4d utilities must be installed. find_program()
   will be used to locate them
   - p4d will be started and a new database will be created at the
   beginning of each test run, so we will always test against a fresh and new
   repository.
   - Based on the tests, I modified how the P4 CTest client reports its
   modified paths, so now relative paths to the root are returned (without the
   depot name).
   - As I had a server (p4d) I was able to play succesfully with message
   localization so now I set the messages language to English before each
   command is executed, preventing problems with the results parsing if
   somebody ever configures Perforce in another language.
   - Fixed little cosmetic things here and there as a result of having it
   running in house for a couple of weeks.

Pedro


On Wed, Oct 16, 2013 at 1:10 PM, Brad King <brad.king at kitware.com> wrote:

> On 10/16/2013 03:11 PM, Pedro Navarro wrote:
> > I was thinking that as the test requires the p4 tool to be installed,
> > we might as well require also p4d (the server, which is now free for
> > up to 20 users). In that case the test can bring up a local server
> > and work against it which, in the end, will create less issues as
> > the p4 database will be deleted when the test ends. If we work against
> > a real production server we might not be able to use p4 obliterate
> > and we will be leaving those temporary checkins the test does
> > polluting the history, and that might not be desired.
>
> We definitely need the test to run against a fresh repository each
> time.  The other VCS tool tests all create local repos from scratch
> when they run.  Whatever you need to require to achieve this with
> P4 is acceptable.
>
> Thanks,
> -Brad
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20131021/bde260a5/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Perforce-support-for-CTest.patch
Type: application/octet-stream
Size: 34732 bytes
Desc: not available
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20131021/bde260a5/attachment-0002.obj>


More information about the cmake-developers mailing list