view contrib/wix/contrib.wxs @ 24305:867c3649be5d

cvsps: use a different tiebreaker to avoid flaky test After adding some sneaky debug printing[0], I determined that this test flaked when a CVS commit containing two files starts too close to the end of a second, thus putting file "a" in one second and "b/c" in the following second. The secondary sort key meant that these changes sorted in a different order when the timestamps were different than they did when they matched. As far as I can tell, CVS walks through the files in a stable order, so by sorting on the filenames in cvsps we'll get stable output. It's fine for us to switch from sorting on the branchpoint as a secondary key because this was already the point when we didn't care, and we're just trying to break ties in a stable way. It's unclear to be if having the branchpoint present matters anymore, but it doesn't really hurt to leave it. With this change in place, I was able to run test-convert-cvs over 650 times in a row without a failure. test-convert-cvcs-synthetic.t appears to still be flaky, but I don't think it's *worse* than it was before - just not better (I observed one flaky failure in 200 runs on that test). 0: The helpful debug hack ended up being this, in case it's useful to future flaky test assassins: --- a/hgext/convert/cvsps.py +++ b/hgext/convert/cvsps.py @@ -854,6 +854,8 @@ def debugcvsps(ui, *args, **opts): ui.write(('Branch: %s\n' % (cs.branch or 'HEAD'))) ui.write(('Tag%s: %s \n' % (['', 's'][len(cs.tags) > 1], ','.join(cs.tags) or '(none)'))) + if cs.comment == 'ci1' and (cs.id == 6) == bool(cs.branchpoints): + ui.write('raw timestamp %r\n' % (cs.date,)) if cs.branchpoints: ui.write(('Branchpoints: %s \n') % ', '.join(sorted(cs.branchpoints)))
author Augie Fackler <raf@durin42.com>
date Fri, 13 Mar 2015 14:20:13 -0400
parents 5716d10e89e7
children
line wrap: on
line source

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">

  <?include guids.wxi ?>
  <?include defines.wxi ?>

  <Fragment>
    <ComponentGroup Id="contribFolder">
      <ComponentRef Id="contrib" />
      <ComponentRef Id="contrib.vim" />
    </ComponentGroup>
  </Fragment>

  <Fragment>
    <DirectoryRef Id="INSTALLDIR">
      <Directory Id="contribdir" Name="contrib" FileSource="$(var.SourceDir)">
        <Component Id="contrib" Guid="$(var.contrib.guid)" Win64='$(var.IsX64)'>
          <File Name="bash_completion" KeyPath="yes" />
          <File Name="hgk" />
          <File Name="hgweb.fcgi" />
          <File Name="hgweb.wsgi" />
          <File Name="logo-droplets.svg" />
          <File Name="mercurial.el" />
          <File Name="tcsh_completion" />
          <File Name="tcsh_completion_build.sh" />
          <File Name="xml.rnc" />
          <File Name="zsh_completion" />
        </Component>
        <Directory Id="vimdir" Name="vim">
          <Component Id="contrib.vim" Guid="$(var.contrib.vim.guid)" Win64='$(var.IsX64)'>
            <File Name="hg-menu.vim" KeyPath="yes" />
            <File Name="HGAnnotate.vim" />
            <File Name="hgcommand.vim" />
            <File Name="patchreview.txt" />
            <File Name="patchreview.vim" />
            <File Name="hgtest.vim" />
          </Component>
        </Directory>
      </Directory>
    </DirectoryRef>
  </Fragment>

</Wix>