view tests/test-username-newline.t @ 38555:f83600efa1ca

tests: don't allow reodering of glob/re lines across non-glob/re lines As shown in the test case added in the previous patch, it can be really hard to interpret diffs from the test runner if there are multiple lines that would match a given glob or regular expression. It looks like this has been the case since 1ad0ddf8cccc (run-tests: teach _processoutput to handle multiple lines of churn, 2016-03-17). It seems like the point of that was to preserve the "(glob)" annotation on lines even if they got moved. This patch tries to preserve that but only allows the lines to be moved past other glob/re lines. Differential Revision: https://phab.mercurial-scm.org/D3881
author Martin von Zweigbergk <martinvonz@google.com>
date Mon, 02 Jul 2018 11:14:13 -0700
parents 5ac845ca059a
children 95c4cca641f6
line wrap: on
line source

  $ hg init
  $ touch a

  $ unset HGUSER
  $ echo "[ui]" >> .hg/hgrc
  $ echo "username= foo" >> .hg/hgrc
  $ echo "          bar1" >> .hg/hgrc

  $ hg ci -Am m
  adding a
  abort: username 'foo\nbar1' contains a newline
  
  [255]
  $ rm .hg/hgrc

  $ HGUSER=`(echo foo; echo bar2)` hg ci -Am m
  adding a
  abort: username 'foo\nbar2' contains a newline
  
  [255]
  $ hg ci -Am m -u "`(echo foo; echo bar3)`"
  adding a
  transaction abort!
  rollback completed
  abort: username 'foo\nbar3' contains a newline!
  [255]