Allow passing in custom file name for archiving failures

Change-Id: I70b91650eda81109811bde05036ce38849bcd777
diff --git a/tools/test.py b/tools/test.py
index c59a23a..0b8f162 100755
--- a/tools/test.py
+++ b/tools/test.py
@@ -65,6 +65,10 @@
   result.add_option('--archive-failures', '--archive_failures',
       help='Upload test results to cloud storage on failure.',
       default=False, action='store_true')
+  result.add_option('--archive-failures-file-name',
+                    '--archive_failures_file_name',
+                    help='Set file name for the archived failures file name',
+                    default=uuid.uuid4())
   result.add_option('--only-internal', '--only_internal',
       help='Only run Google internal tests.',
       default=False, action='store_true')
@@ -193,14 +197,13 @@
       default=False, action='store_true')
   return result.parse_args()
 
-def archive_failures():
+def archive_failures(options):
   upload_dir = os.path.join(utils.REPO_ROOT, 'build', 'reports', 'tests')
-  u_dir = uuid.uuid4()
-  destination = 'gs://%s/%s' % (BUCKET, u_dir)
+  file_name = options.archive_failures_file_name
+  destination = 'gs://%s/%s' % (BUCKET, file_name)
   utils.upload_dir_to_cloud_storage(upload_dir, destination, is_html=True)
-  url = 'https://storage.googleapis.com/%s/%s/test/index.html' % (BUCKET, u_dir)
-  print 'Test results available at: %s' % url
-  print '@@@STEP_LINK@Test failures@%s@@@' % url
+  url = 'https://storage.googleapis.com/%s/%s/test/index.html' % (BUCKET, file_name)
+  print('Test results available at: %s' % url)
 
 def Main():
   (options, args) = ParseOptions()
@@ -454,7 +457,7 @@
 def archive_and_return(return_code, options):
   if return_code != 0:
     if options.archive_failures and os.name != 'nt':
-      archive_failures()
+      archive_failures(options)
   return return_code
 
 def print_jstacks():