4 loadtest.TestMain -- shortdesc
6 loadtest.TestMain is a description
8 It defines classes_and_methods
12 @copyright: 2017 organization_name. All rights reserved.
17 @deffield updated: Updated
23 from optparse import OptionParser, Values
25 from loadtest.TestController import TestController
29 __date__ = '2017-04-07'
30 __updated__ = '2017-04-07'
39 '''Command line options.'''
40 program_name = os.path.basename(sys.argv[0])
41 program_version = "v0.1"
42 program_build_date = "%s" % __updated__
44 program_version_string = '%%prog %s (%s)' % (program_version, program_build_date)
45 #program_usage = '''usage: spam two eggs''' # optional - will be autogenerated by optparse
46 program_longdesc = '''''' # optional - give further explanation about what the program does
47 program_license = "Copyright 2017 user_name (organization_name) \
48 Licensed under the Apache License 2.0\nhttp://www.apache.org/licenses/LICENSE-2.0"
54 parser = OptionParser(version=program_version_string, epilog=program_longdesc, description=program_license)
55 parser.add_option("-d", "--duration", dest="duration", help="duration of soak test in seconds [default: %default]", type=int)
56 parser.add_option("-l", "--logfile", dest="logfile", help="Full path soak log file name")
57 parser.add_option("-c", "--cyclelength", dest="cyclelength", help="Length of a single cycle through the config.\nMust be longer than a single iteration", type=int)
58 parser.add_option("-p", "--profile", dest="profile", help="Filename of json profile file")
59 parser.set_defaults(logfile="")
60 (opts, args) = parser.parse_args(argv)
62 if (opts.logfile != ""):
63 logging.basicConfig(filename=opts.logfile, level=logging.DEBUG)
65 logging.basicConfig(level=logging.DEBUG)
66 controller = TestController(opts)
70 indent = len(program_name) * " "
71 sys.stderr.write(program_name + ": " + repr(e) + "\n")
72 sys.stderr.write(indent + " for help use --help")
76 if __name__ == "__main__":
85 profile_filename = 'loadtest.TestMain_profile.txt'
86 cProfile.run('main()', profile_filename)
87 statsfile = open("profile_stats.txt", "wb")
88 p = pstats.Stats(profile_filename, stream=statsfile)
89 stats = p.strip_dirs().sort_stats('cumulative')