Patchwork test-check-commit: don't run hg per commit

login
register
mail settings
Submitter Yuya Nishihara
Date April 14, 2018, 8:49 a.m.
Message ID <34cde18a454484a1cf6e.1523695778@mimosa>
Download mbox | patch
Permalink /patch/31012/
State Accepted
Headers show

Comments

Yuya Nishihara - April 14, 2018, 8:49 a.m.
# HG changeset patch
# User Yuya Nishihara <yuya@tcha.org>
# Date 1523694452 -32400
#      Sat Apr 14 17:27:32 2018 +0900
# Node ID 34cde18a454484a1cf6e716a3325ca9282277d59
# Parent  e743b8524d608684b5a947337c37b686cfc0ae5b
test-check-commit: don't run hg per commit

We aren't stress testing CPU.

  $ time ./run-tests.py -l test-check-commit.t --timeout 600
  (orig) 162.59s user 17.98s system 101% cpu 2:58.55 total
  (new)  5.85s user 0.99s system 98% cpu 6.939 total
Matt Harbison - April 14, 2018, 7:19 p.m.
On Sat, 14 Apr 2018 04:49:38 -0400, Yuya Nishihara <yuya@tcha.org> wrote:

> # HG changeset patch
> # User Yuya Nishihara <yuya@tcha.org>
> # Date 1523694452 -32400
> #      Sat Apr 14 17:27:32 2018 +0900
> # Node ID 34cde18a454484a1cf6e716a3325ca9282277d59
> # Parent  e743b8524d608684b5a947337c37b686cfc0ae5b
> test-check-commit: don't run hg per commit
>
> We aren't stress testing CPU.
>
>   $ time ./run-tests.py -l test-check-commit.t --timeout 600
>   (orig) 162.59s user 17.98s system 101% cpu 2:58.55 total
>   (new)  5.85s user 0.99s system 98% cpu 6.939 total

+1

On my idle Windows laptop:

real    17m40.978s
user    0m0.045s
sys     0m0.062s

to:

real    0m59.448s
user    0m0.030s
sys     0m0.062s
Augie Fackler - April 14, 2018, 7:36 p.m.
> On Apr 14, 2018, at 4:49 AM, Yuya Nishihara <yuya@tcha.org> wrote:
> 
> # HG changeset patch
> # User Yuya Nishihara <yuya@tcha.org>
> # Date 1523694452 -32400
> #      Sat Apr 14 17:27:32 2018 +0900
> # Node ID 34cde18a454484a1cf6e716a3325ca9282277d59
> # Parent  e743b8524d608684b5a947337c37b686cfc0ae5b
> test-check-commit: don't run hg per commit

Queued with enthusiasm, many thanks.

(This has been on my hit list for a while, and I never got around to it.)

> 
> We aren't stress testing CPU.
> 
>  $ time ./run-tests.py -l test-check-commit.t --timeout 600
>  (orig) 162.59s user 17.98s system 101% cpu 2:58.55 total
>  (new)  5.85s user 0.99s system 98% cpu 6.939 total
> 
> diff --git a/tests/test-check-commit.t b/tests/test-check-commit.t
> --- a/tests/test-check-commit.t
> +++ b/tests/test-check-commit.t
> @@ -8,15 +8,16 @@ Go back in the hg repo
> 
>   $ cd $TESTDIR/..
> 
> -  $ for node in `testrepohg log --rev 'not public() and ::. and not desc("# no-check-commit")' --template '{node|short}\n'`; do
> -  >    testrepohg export --git $node \
> -  >        | contrib/check-commit > ${TESTTMP}/check-commit.out
> +  $ mkdir "$TESTTMP/p"
> +  $ testrepohg export --git -o "$TESTTMP/p/%n-%h" \
> +  > -r 'not public() and ::. and not desc("# no-check-commit")'
> +  $ for f in `ls "$TESTTMP/p"`; do
> +  >    contrib/check-commit < "$TESTTMP/p/$f" > "$TESTTMP/check-commit.out"
>>   if [ $? -ne 0 ]; then
> +  >        node="${f##*-}"
>>       echo "Revision $node does not comply with rules"
>>       echo '------------------------------------------------------'
>>       cat ${TESTTMP}/check-commit.out
>>       echo
>>  fi
>> done
> -
> -
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel@mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Patch

diff --git a/tests/test-check-commit.t b/tests/test-check-commit.t
--- a/tests/test-check-commit.t
+++ b/tests/test-check-commit.t
@@ -8,15 +8,16 @@  Go back in the hg repo
 
   $ cd $TESTDIR/..
 
-  $ for node in `testrepohg log --rev 'not public() and ::. and not desc("# no-check-commit")' --template '{node|short}\n'`; do
-  >    testrepohg export --git $node \
-  >        | contrib/check-commit > ${TESTTMP}/check-commit.out
+  $ mkdir "$TESTTMP/p"
+  $ testrepohg export --git -o "$TESTTMP/p/%n-%h" \
+  > -r 'not public() and ::. and not desc("# no-check-commit")'
+  $ for f in `ls "$TESTTMP/p"`; do
+  >    contrib/check-commit < "$TESTTMP/p/$f" > "$TESTTMP/check-commit.out"
   >    if [ $? -ne 0 ]; then
+  >        node="${f##*-}"
   >        echo "Revision $node does not comply with rules"
   >        echo '------------------------------------------------------'
   >        cat ${TESTTMP}/check-commit.out
   >        echo
   >   fi
   > done
-
-