Home | History | Annotate | Download | only in tools
      1 '''
      2 Compares the rendererings of serialized SkPictures to expected images.
      3 
      4 Launch with --help to see more information.
      5 
      6 
      7 Copyright 2012 Google Inc.
      8 
      9 Use of this source code is governed by a BSD-style license that can be
     10 found in the LICENSE file.
     11 '''
     12 # common Python modules
     13 import os
     14 import optparse
     15 import sys
     16 import shutil
     17 import tempfile
     18 import test_rendering
     19 
     20 USAGE_STRING = 'Usage: %s input... expectedDir'
     21 HELP_STRING = '''
     22 
     23 Takes input SkPicture files and renders them as PDF files, and then compares
     24 those resulting PDF files against PDF files found in expectedDir.
     25 
     26 Each instance of "input" can be either a file (name must end in .skp), or a
     27 directory (in which case this script will process all .skp files within the
     28 directory).
     29 '''
     30 
     31 
     32 def Main(args):
     33     """Allow other scripts to call this script with fake command-line args.
     34 
     35     @param The commandline argument list
     36     """
     37     parser = optparse.OptionParser(USAGE_STRING % '%prog' + HELP_STRING)
     38     parser.add_option('--render_dir', dest='render_dir',
     39                       help = ('specify the location to output the rendered '
     40                       'files. Default is a temp directory.'))
     41     parser.add_option('--diff_dir', dest='diff_dir',
     42                       help = ('specify the location to output the diff files. '
     43                       'Default is a temp directory.'))
     44 
     45     options, arguments = parser.parse_args(args)
     46 
     47     if (len(arguments) < 3):
     48         print("Expected at least one input and one ouput folder.")
     49         parser.print_help()
     50         sys.exit(-1)
     51 
     52     inputs = arguments[1:-1]
     53     expected_dir = arguments[-1]
     54 
     55     test_rendering.TestRenderSkps(inputs, expected_dir, options.render_dir,
     56                                   options.diff_dir, 'render_pdfs', '')
     57 
     58 if __name__ == '__main__':
     59     Main(sys.argv)
     60 
     61