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