Просмотр исходного кода

--debug-level + more FTP proxy tweaks

[SVN r26400]
Aleksey Gurtovoy 21 лет назад
Родитель
Сommit
d517715923

+ 10 - 5
tools/regression/xsl_reports/runner/collect_and_upload_logs.py

@@ -43,19 +43,22 @@ def collect_test_logs( input_dirs, test_results_writer ):
         os.path.walk( input_dir, process_test_log_files, test_results_writer )
 
 
-def upload_to_ftp( tag, results_file, ftp_proxy ):
+def upload_to_ftp( tag, results_file, ftp_proxy, debug_level ):
     ftp_site = 'fx.meta-comm.com'
     site_path = '/boost-regression'
     utils.log( 'Uploading log archive "%s" to ftp://%s%s/%s' % ( results_file, ftp_site, site_path, tag ) )
     
     if not ftp_proxy:
         ftp = ftplib.FTP( ftp_site )
+        ftp.set_debuglevel( debug_level )
         ftp.login()
     else:
         utils.log( '    Connecting through FTP proxy server "%s"' % ftp_proxy )
         ftp = ftplib.FTP( ftp_proxy )
+        ftp.set_debuglevel( debug_level )
+        ftp.set_pasv (0) # turn off PASV mode
         ftp.login( 'anonymous@%s' % ftp_site, 'anonymous@' )
-        
+
     ftp.cwd( site_path )
     try:
         ftp.cwd( tag )
@@ -154,9 +157,9 @@ def collect_logs(
             utils.log( 'Done compressing "%s".' % archive_path )
 
 
-def upload_logs( results_dir, runner_id, tag, user, ftp_proxy ):
+def upload_logs( results_dir, runner_id, tag, user, ftp_proxy, debug_level ):
     logs_archive = os.path.join( results_dir, '%s.zip' % runner_id )
-    upload_to_ftp( tag, logs_archive, ftp_proxy )
+    upload_to_ftp( tag, logs_archive, ftp_proxy, debug_level )
 
 
 def collect_and_upload_logs( 
@@ -169,6 +172,8 @@ def collect_and_upload_logs(
         , user
         , source
         , run_type
+        , ftp_proxy = None
+        , debug_level = 0
         ):
     
     collect_logs( 
@@ -183,7 +188,7 @@ def collect_and_upload_logs(
         , run_type
         )
     
-    upload_logs( locate_root_dir, runner_id, tag, user )
+    upload_logs( locate_root_dir, runner_id, tag, user, ftp_proxy, debug_level )
 
 
 def accept_args( args ):

+ 9 - 2
tools/regression/xsl_reports/runner/regression.py

@@ -538,11 +538,12 @@ def upload_logs(
         , runner
         , user
         , ftp_proxy
+        , debug_level
         , **unused
         ):
     import_utils()
     from runner import upload_logs
-    upload_logs( regression_results, runner, tag, user, ftp_proxy )
+    upload_logs( regression_results, runner, tag, user, ftp_proxy, debug_level )
 
 
 def update_itself( **unused ):
@@ -576,6 +577,7 @@ def regression(
         , mail = None
         , proxy = None
         , ftp_proxy = None
+        , debug_level = 0
         , args = []
         ):
 
@@ -610,7 +612,7 @@ def regression(
         setup( comment, toolsets, bjam_toolset, pjl_toolset, monitored, proxy, [] )
         test( toolsets, bjam_options, monitored, timeout, [] )
         collect_logs( tag, runner, platform, user, comment, incremental, [] )
-        upload_logs( tag, runner, user, ftp_proxy )
+        upload_logs( tag, runner, user, ftp_proxy, debug_level )
         update_itself()
         
         if mail:
@@ -659,6 +661,7 @@ def accept_args( args ):
         , 'mail='
         , 'proxy='
         , 'ftp-proxy='
+        , 'debug-level='
         , 'incremental'
         , 'monitored'
         , 'help'
@@ -677,6 +680,7 @@ def accept_args( args ):
         , '--timeout'       : 5
         , '--mail'          : None
         , '--proxy'         : None
+        , '--debug-level'   : 0
         , '--ftp-proxy'     : None
         }
     
@@ -707,6 +711,7 @@ def accept_args( args ):
         , 'mail'            : options[ '--mail' ]
         , 'proxy'           : options[ '--proxy' ]
         , 'ftp_proxy'       : options[ '--ftp-proxy' ]
+        , 'debug_level'     : int(options[ '--debug-level' ])
         , 'args'            : other_args
         }
 
@@ -752,6 +757,8 @@ Options:
 \t--proxy         HTTP proxy server address and port (e.g. 
 \t                'http://www.someproxy.com:3128', optional)
 \t--ftp-proxy     FTP proxy server (e.g. 'ftpproxy', optional)
+\t--debug-level   debugging level; controls the amount of debugging 
+\t                output printed; 0 by default (no debug output)
 ''' % '\n\t'.join( commands.keys() )
 
     print 'Example:\n\t%s --runner=Metacomm\n' % os.path.basename( sys.argv[0] )

粤ICP备19079148号