title: System for testing and submitting pending changes (ideally in Perforce)
body: <p>I've got a working post-checkin validation system in place for our team's C/C++ projects using Buildbot and Perforce, and it's worked well for us.  However, our current system responds to checkins and only detects failures after they've been submitted.  Several people have requested a full pre-checkin system that automates the process of packaging a pending changelist (I'm thinking P4 shelves) and handing it off to the builder, which will build, test, and submit the checkin (in their name).  This would prevent most bad checkins from ever getting submitted, and we could still run more thorough tests afterward on the buildbot.  However, I haven't found any good systems (commercial or open source) that do this.</p>
  
  <p>Does anyone have experience with software that will enable this?  I've heard this referred to a check-in gauntlet or gated checkins (TFS 2010's name for it).  Is there a more standardized term for this pre-checkin verification and submission approach?  It would be ideal if we could do this within Buildbot, but we're open to other solutions as well.</p>