Patchwork D10788: censor: reduce risk of censor test blowing up output limit

login
register
mail settings
Submitter phabricator
Date May 28, 2021, 10:58 p.m.
Message ID <differential-rev-PHID-DREV-okeld5j6zuunipxmwyzo-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/49106/
State Superseded
Headers show

Comments

phabricator - May 28, 2021, 10:58 p.m.
marmoute created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REVISION SUMMARY
  The censored file is really big, and we keep using `hg cat` on it, with the
  assumption that it is censored. However, when it is not censored, the amount of
  extra line output is huge and quickly saturate the backlog of terminal and CI
  system.

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D10788

AFFECTED FILES
  tests/test-censor.t

CHANGE DETAILS




To: marmoute, #hg-reviewers
Cc: mercurial-patches, mercurial-devel

Patch

diff --git a/tests/test-censor.t b/tests/test-censor.t
--- a/tests/test-censor.t
+++ b/tests/test-censor.t
@@ -52,18 +52,18 @@ 
 
 Verify target contents before censorship at each revision
 
-  $ hg cat -r $H1 target
+  $ hg cat -r $H1 target | head -n 10
   Tainted file is now sanitized
-  $ hg cat -r $H2 target
+  $ hg cat -r $H2 target | head -n 10
   Tainted file now super sanitized
-  $ hg cat -r $C2 target
+  $ hg cat -r $C2 target | head -n 10
   Tainted file
   Passwords: hunter2
   hunter3
-  $ hg cat -r $C1 target
+  $ hg cat -r $C1 target | head -n 10
   Tainted file
   Passwords: hunter2
-  $ hg cat -r 0 target
+  $ hg cat -r 0 target | head -n 10
   Initially untainted file
 
 Try to censor revision with too large of a tombstone message
@@ -78,18 +78,17 @@ 
 
   $ mkdir -p foo/bar/baz
   $ hg --cwd foo/bar/baz censor -r $C2 -t "remove password" ../../../target
-  $ hg cat -r $H1 target
+  $ hg cat -r $H1 target | head -n 10
   Tainted file is now sanitized
-  $ hg cat -r $H2 target
+  $ hg cat -r $H2 target | head -n 10
   Tainted file now super sanitized
-  $ hg cat -r $C2 target
+  $ hg cat -r $C2 target | head -n 10
   abort: censored node: 1e0247a9a4b7
   (set censor.policy to ignore errors)
-  [255]
-  $ hg cat -r $C1 target
+  $ hg cat -r $C1 target | head -n 10
   Tainted file
   Passwords: hunter2
-  $ hg cat -r 0 target
+  $ hg cat -r 0 target | head -n 10
   Initially untainted file
 
 Censor revision with 1 offense
@@ -97,31 +96,27 @@ 
 (this also tests file pattern matching: with 'path:' scheme)
 
   $ hg --cwd foo/bar/baz censor -r $C1 path:target
-  $ hg cat -r $H1 target
+  $ hg cat -r $H1 target | head -n 10
   Tainted file is now sanitized
-  $ hg cat -r $H2 target
+  $ hg cat -r $H2 target | head -n 10
   Tainted file now super sanitized
-  $ hg cat -r $C2 target
+  $ hg cat -r $C2 target | head -n 10
   abort: censored node: 1e0247a9a4b7
   (set censor.policy to ignore errors)
-  [255]
-  $ hg cat -r $C1 target
+  $ hg cat -r $C1 target | head -n 10
   abort: censored node: 613bc869fceb
   (set censor.policy to ignore errors)
-  [255]
-  $ hg cat -r 0 target
+  $ hg cat -r 0 target | head -n 10
   Initially untainted file
 
 Can only checkout target at uncensored revisions, -X is workaround for --all
 
-  $ hg revert -r $C2 target
+  $ hg revert -r $C2 target | head -n 10
   abort: censored node: 1e0247a9a4b7
   (set censor.policy to ignore errors)
-  [255]
-  $ hg revert -r $C1 target
+  $ hg revert -r $C1 target | head -n 10
   abort: censored node: 613bc869fceb
   (set censor.policy to ignore errors)
-  [255]
   $ hg revert -r $C1 --all
   reverting bystander
   reverting target
@@ -143,13 +138,13 @@ 
 
 Uncensored file can be viewed at any revision
 
-  $ hg cat -r $H1 bystander
+  $ hg cat -r $H1 bystander | head -n 10
   Normal file v2
-  $ hg cat -r $C2 bystander
+  $ hg cat -r $C2 bystander | head -n 10
   Normal file v2
-  $ hg cat -r $C1 bystander
+  $ hg cat -r $C1 bystander | head -n 10
   Normal file here
-  $ hg cat -r 0 bystander
+  $ hg cat -r 0 bystander | head -n 10
   Normal file here
 
 Can update to children of censored revision
@@ -288,20 +283,19 @@ 
   $ hg ci -m 'delete target so it may be censored'
   $ H2=`hg id --debug -i`
   $ hg censor -r $C4 target
-  $ hg cat -r $C4 target
-  $ hg cat -r "$H2^^" target
+  $ hg cat -r $C4 target | head -n 10
+  $ hg cat -r "$H2^^" target | head -n 10
   Tainted file now super sanitized
   $ echo 'fresh start' > target
   $ hg add target
   $ hg ci -m reincarnated target
   $ H2=`hg id --debug -i`
-  $ hg cat -r $H2 target
+  $ hg cat -r $H2 target | head -n 10
   fresh start
-  $ hg cat -r "$H2^" target
+  $ hg cat -r "$H2^" target | head -n 10
   target: no such file in rev 452ec1762369
-  [1]
-  $ hg cat -r $C4 target
-  $ hg cat -r "$H2^^^" target
+  $ hg cat -r $C4 target | head -n 10
+  $ hg cat -r "$H2^^^" target | head -n 10
   Tainted file now super sanitized
 
 Can censor after revlog has expanded to no longer permit inline storage
@@ -317,8 +311,8 @@ 
   $ hg ci -m 'cleaned 100k passwords'
   $ H2=`hg id --debug -i`
   $ hg censor -r $C5 target
-  $ hg cat -r $C5 target
-  $ hg cat -r $H2 target
+  $ hg cat -r $C5 target | head -n 10
+  $ hg cat -r $H2 target | head -n 10
   fresh start
 
 Repo with censored nodes can be cloned and cloned nodes are censored
@@ -328,13 +322,13 @@ 
   updating to branch default
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ cd rclone
-  $ hg cat -r $H1 target
+  $ hg cat -r $H1 target | head -n 10
   advanced head H1
-  $ hg cat -r $H2~5 target
+  $ hg cat -r $H2~5 target | head -n 10
   Tainted file now super sanitized
-  $ hg cat -r $C2 target
-  $ hg cat -r $C1 target
-  $ hg cat -r 0 target
+  $ hg cat -r $C2 target | head -n 10
+  $ hg cat -r $C1 target | head -n 10
+  $ hg cat -r 0 target | head -n 10
   Initially untainted file
   $ hg verify
   checking changesets
@@ -346,7 +340,7 @@ 
 Repo cloned before tainted content introduced can pull censored nodes
 
   $ cd ../rpull
-  $ hg cat -r tip target
+  $ hg cat -r tip target | head -n 10
   Initially untainted file
   $ hg verify
   checking changesets
@@ -367,13 +361,13 @@ 
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ cat target
   Tainted file now super sanitized
-  $ hg cat -r $H1 target
+  $ hg cat -r $H1 target | head -n 10
   advanced head H1
-  $ hg cat -r $H2~5 target
+  $ hg cat -r $H2~5 target | head -n 10
   Tainted file now super sanitized
-  $ hg cat -r $C2 target
-  $ hg cat -r $C1 target
-  $ hg cat -r 0 target
+  $ hg cat -r $C2 target | head -n 10
+  $ hg cat -r $C1 target | head -n 10
+  $ hg cat -r 0 target | head -n 10
   Initially untainted file
   $ hg verify
   checking changesets
@@ -393,11 +387,11 @@ 
   $ hg ci -m 're-sanitized' target
   $ H2=`hg id --debug -i`
   $ CLEANREV=$H2
-  $ hg cat -r $REV target
+  $ hg cat -r $REV target | head -n 10
   Passwords: hunter2hunter2
   $ hg censor -r $REV target
-  $ hg cat -r $REV target
-  $ hg cat -r $CLEANREV target
+  $ hg cat -r $REV target | head -n 10
+  $ hg cat -r $CLEANREV target | head -n 10
   Re-sanitized; nothing to see here
   $ hg push -f -r $H2
   pushing to $TESTTMP/r
@@ -408,8 +402,8 @@ 
   added 2 changesets with 2 changes to 1 files (+1 heads)
 
   $ cd ../r
-  $ hg cat -r $REV target
-  $ hg cat -r $CLEANREV target
+  $ hg cat -r $REV target | head -n 10
+  $ hg cat -r $CLEANREV target | head -n 10
   Re-sanitized; nothing to see here
   $ hg update $CLEANREV
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -428,8 +422,8 @@ 
   added 2 changesets with 2 changes to 2 files (+1 heads)
   new changesets 075be80ac777:dcbaf17bf3a1 (2 drafts)
   (run 'hg heads .' to see heads, 'hg merge' to merge)
-  $ hg cat -r $REV target
-  $ hg cat -r $CLEANREV target
+  $ hg cat -r $REV target | head -n 10
+  $ hg cat -r $CLEANREV target | head -n 10
   Re-sanitized; nothing to see here
   $ hg update $CLEANREV
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -516,4 +510,4 @@ 
   added 1 changesets with 2 changes to 2 files
   new changesets e97f55b2665a (1 drafts)
   (run 'hg update' to get a working copy)
-  $ hg cat -r 0 target
+  $ hg cat -r 0 target | head -n 10