You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by "C. Scott Ananian" <ca...@lesser-magoo.lcs.mit.edu> on 2001/09/05 20:18:57 UTC

[PATCH] clean up pre-python 2.1 'make check' output.

Appended is a patch to clean up 'make check' if the user does not have
Python 2.1 installed.  A ChangeLog message is included.
 --s

Ft. Meade Washington Albanian FSF [Hello to all my fans in domestic surveillance] 
class struggle AP President Saddam Hussein direct action Clinton quiche 
              ( http://lesser-magoo.lcs.mit.edu/~cananian )

----------------------------
2001-09-05  C. Scott Ananian  <ca...@mit.edu>

	* commit_tests.py
	* prop_tests.py
	* schedule_tests.py
	* svnadmin_tests.py

	Clean up the 'make check' output when the user has a pre-2.1 version
	of Python on their machine.  Now the standard error shows that the
	test was skipped but counted as successful as '...[SKIPPED] SUCCESS'
	while the standard out (which is redirected to tests.log) shows
	why the test was skipped (probably python version < 2.1) and the
	traceback for the syntax error caught.

Index: ./trunk/subversion/tests/clients/cmdline/commit_tests.py
===================================================================
--- ./trunk/subversion/tests/clients/cmdline/SVN/text-base/commit_tests.py	Wed Sep  5 15:32:24 2001
+++ ./trunk/subversion/tests/clients/cmdline/commit_tests.py	Wed Sep  5 15:53:32 2001
@@ -23,8 +23,9 @@
 try:
   import svntest
 except SyntaxError:
+  sys.stderr.write('[SKIPPED] ')
   print "<<< Please make sure you have Python 2.1 or better! >>>"
-  traceback.print_exc()
+  traceback.print_exc(None,sys.stdout)
   raise SystemExit
 
 # Quick macro for auto-generating sandbox names
Index: ./trunk/subversion/tests/clients/cmdline/schedule_tests.py
===================================================================
--- ./trunk/subversion/tests/clients/cmdline/SVN/text-base/schedule_tests.py	Wed Sep  5 15:32:24 2001
+++ ./trunk/subversion/tests/clients/cmdline/schedule_tests.py	Wed Sep  5 15:53:58 2001
@@ -24,8 +24,9 @@
 try:
   import svntest
 except SyntaxError:
+  sys.stderr.write('[SKIPPED] ')
   print "<<< Please make sure you have Python 2.1 or better! >>>"
-  traceback.print_exc()
+  traceback.print_exc(None,sys.stdout)
   raise SystemExit
 
 # Quick macro for auto-generating sandbox names
Index: ./trunk/subversion/tests/clients/cmdline/svnadmin_tests.py
===================================================================
--- ./trunk/subversion/tests/clients/cmdline/SVN/text-base/svnadmin_tests.py	Wed Sep  5 15:32:24 2001
+++ ./trunk/subversion/tests/clients/cmdline/svnadmin_tests.py	Wed Sep  5 15:54:14 2001
@@ -23,8 +23,9 @@
 try:
   import svntest
 except SyntaxError:
+  sys.stderr.write('[SKIPPED] ')
   print "<<< Please make sure you have Python 2.1 or better! >>>"
-  traceback.print_exc()
+  traceback.print_exc(None,sys.stdout)
   raise SystemExit
 
 # Quick macro for auto-generating sandbox names
Index: ./trunk/subversion/tests/clients/cmdline/prop_tests.py
===================================================================
--- ./trunk/subversion/tests/clients/cmdline/SVN/text-base/prop_tests.py	Wed Sep  5 15:32:24 2001
+++ ./trunk/subversion/tests/clients/cmdline/prop_tests.py	Wed Sep  5 15:53:41 2001
@@ -23,8 +23,9 @@
 try:
   import svntest
 except SyntaxError:
+  sys.stderr.write('[SKIPPED] ')
   print "<<< Please make sure you have Python 2.1 or better! >>>"
-  traceback.print_exc()
+  traceback.print_exc(None,sys.stdout)
   raise SystemExit
 
 # Quick macro for auto-generating sandbox names
Index: ./trunk/subversion/tests/clients/cmdline/basic_tests.py
===================================================================
--- ./trunk/subversion/tests/clients/cmdline/SVN/text-base/basic_tests.py	Wed Sep  5 15:32:24 2001
+++ ./trunk/subversion/tests/clients/cmdline/basic_tests.py	Wed Sep  5 15:52:18 2001
@@ -23,8 +23,9 @@
 try:
   import svntest
 except SyntaxError:
+  sys.stderr.write('[SKIPPED] ')
   print "<<< Please make sure you have Python 2.1 or better! >>>"
-  traceback.print_exc()
+  traceback.print_exc(None,sys.stdout)
   raise SystemExit
 
 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [SVN-DEV] Re: [PATCH] clean up pre-python 2.1 'make check' output.

Posted by cm...@collab.net.
"C. Scott Ananian" <ca...@lesser-magoo.lcs.mit.edu> writes:

> Perhaps.  This is far out of my league, though.  I submitted what I
> thought was a minimal patch to make the output of 'make check' at least
> semi-intelligible when an old Python version is being used.

That's fine.  I will commit as such.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [SVN-DEV] Re: [PATCH] clean up pre-python 2.1 'make check' output.

Posted by "C. Scott Ananian" <ca...@lesser-magoo.lcs.mit.edu>.
On 5 Sep 2001 cmpilato@collab.net wrote:

> Hmm...some things I don't like about this.
> 
> 1.  [SKIPPED] is going straight stderr so it can co-mingle with the
>     output of the make check rule.  This seems kinda wonky.

This is exactly what is desired:
% make check
[...]
Running all tests in run-fs-tests.sh...SUCCESS
Running all tests in run-repos-tests.sh...SUCCESS
Running all tests in basic_tests.py...[SKIPPED] SUCCESS
[...]
%

> 2.  [SKIPPED] appears when you run the scripts by hand, too.  Skipped?
>     Whaddaya mean, "skipped"?  

It means the test was skipped; not run.  That seems clear to me.
You can have it output [NOT RUN] or some such if you like.

> Should these tests simply FAIL if the wrong Python is detected?

No, because it's not indicating failure; it's indicating that the test was
not able to be run because of python issues.  It doesn't indicate that the
SVN build is faulty.

>  Or,
> should (does?) our test suite recognize a magic exit value for skipped
> tests?  Perhaps 0 is SUCCESS, 1 is FAILED, -1 for SKIPPED -- can this
> even be done?

Perhaps.  This is far out of my league, though.  I submitted what I
thought was a minimal patch to make the output of 'make check' at least
semi-intelligible when an old Python version is being used.  Compare to:
% make check
[...]
Running all tests in run-repos-tests.sh...SUCCESS
Running all tests in basic_tests.py...Traceback (innermost last):
  File "basic_tests.py", line 24, in ?
    import svntest
  File "svntest/__init__.py", line 2, in ?
    import main, tree, actions
  File "svntest/actions.py", line 45
     [[x[0], x[1]] for x in main.greek_tree])
                     ^
 SyntaxError: invalid syntax
SUCCESS
Running all tests in commit_tests.py...Traceback (innermost last):
[...]
%

What sense does *that* make?  It's reporting success but barfing up
tracebacks on the screen.
 --s

Hussein chemical agent non-violent protest Waco, Texas Suharto BATF 
Yakima algorithm kibo LA Bejing planning SDI Legion of Doom Nader 
              ( http://lesser-magoo.lcs.mit.edu/~cananian )
 --
 "These students are going to have to find out what law and order is
 all about."  -- Brig. General Robert Canterbury, Noon, May 4, 1970,
 minutes before his troops shot 13 unarmed Kent State students, killing 4.
 --
            [http://www.cs.cmu.edu/~dst/DeCSS/Gallery/]
#!/usr/bin/perl -w
# 526-byte qrpff, Keith Winstein and Marc Horowitz <si...@mit.edu>
# MPEG 2 PS VOB file on stdin -> descrambled output on stdout
# arguments: title key bytes in least to most-significant order
$_='while(read+STDIN,$_,2048){$a=29;$c=142;if((@a=unx"C*",$_)[20]&48){$h=5;
$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$d=
unxV,xb25,$_;$b=73;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=($t=255)&($d
>>12^$d>>4^$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*8^$q<<6))<<9
,$_=(map{$_%16or$t^=$c^=($m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t
^=(72,@z=(64,72,$a^=12*($_%16-2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271))
[$_]^(($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: [PATCH] clean up pre-python 2.1 'make check' output.

Posted by cm...@collab.net.
"C. Scott Ananian" <ca...@lesser-magoo.lcs.mit.edu> writes:

> Index: ./trunk/subversion/tests/clients/cmdline/commit_tests.py
> ===================================================================
> --- ./trunk/subversion/tests/clients/cmdline/SVN/text-base/commit_tests.py	Wed Sep  5 15:32:24 2001
> +++ ./trunk/subversion/tests/clients/cmdline/commit_tests.py	Wed Sep  5 15:53:32 2001
> @@ -23,8 +23,9 @@
>  try:
>    import svntest
>  except SyntaxError:
> +  sys.stderr.write('[SKIPPED] ')
>    print "<<< Please make sure you have Python 2.1 or better! >>>"
> -  traceback.print_exc()
> +  traceback.print_exc(None,sys.stdout)
>    raise SystemExit

Hmm...some things I don't like about this.

1.  [SKIPPED] is going straight stderr so it can co-mingle with the
    output of the make check rule.  This seems kinda wonky.

2.  [SKIPPED] appears when you run the scripts by hand, too.  Skipped?
    Whaddaya mean, "skipped"?  

Should these tests simply FAIL if the wrong Python is detected?  Or,
should (does?) our test suite recognize a magic exit value for skipped
tests?  Perhaps 0 is SUCCESS, 1 is FAILED, -1 for SKIPPED -- can this
even be done?

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org