def main(parsedArguments): isLocalEvaluator = True with createViewFactory(): FORA.initialize(useLocalEvaluator=isLocalEvaluator) locals = {} try: for code in parsedArguments.expressionsToEvaluate: eval_expression(code, locals, parsedArguments.shouldPrintEvaluationTime) for a in parsedArguments.files: with open(a) as f: code = f.read() eval_expression(code, locals, parsedArguments.shouldPrintEvaluationTime) if parsedArguments.repeaters: while True: for r in parsedArguments.repeaters: eval_expression(r, locals, parsedArguments.shouldPrintEvaluationTime) Evaluator.evaluator().flush() if parsedArguments.alwaysRunInterpreted or ( not parsedArguments.expressionsToEvaluate and not parsedArguments.files and not parsedArguments.repeaters): for code, index in interactive_expressions(): try: eval_expression(code, locals, parsedArguments.shouldPrintEvaluationTime, index) except KeyboardInterrupt: print "\n\n\t[Interrupted]\n" except KeyboardInterrupt: print "\n\n\t[Interrupted]\n" except Exceptions.FatalException as ex: print "\nERROR: " + ex.message print "Exiting FORA." import os os._exit(os.EX_UNAVAILABLE) time.sleep(.5)
def main(parsedArguments): isLocalEvaluator = True with createViewFactory(): FORA.initialize(useLocalEvaluator=isLocalEvaluator) locals = {} try: for code in parsedArguments.expressionsToEvaluate: eval_expression(code, locals, parsedArguments.shouldPrintEvaluationTime) for a in parsedArguments.files: with open(a) as f: code = f.read() eval_expression(code, locals, parsedArguments.shouldPrintEvaluationTime) if parsedArguments.repeaters: while True: for r in parsedArguments.repeaters: eval_expression(r, locals, parsedArguments.shouldPrintEvaluationTime) Evaluator.evaluator().flush() if parsedArguments.alwaysRunInterpreted or ( not parsedArguments.expressionsToEvaluate and not parsedArguments.files and not parsedArguments.repeaters ): for code, index in interactive_expressions(): try: eval_expression(code, locals, parsedArguments.shouldPrintEvaluationTime, index) except KeyboardInterrupt: print "\n\n\t[Interrupted]\n" except KeyboardInterrupt: print "\n\n\t[Interrupted]\n" except Exceptions.FatalException as ex: print "\nERROR: " + ex.message print "Exiting FORA." import os os._exit(os.EX_UNAVAILABLE) time.sleep(.5)
def setUpClass(cls): cls.numWorkers = 2 cls.simulator = ClusterSimulation.Simulator.createGlobalSimulator() cls.simulator.startService() cls.simulator.verifySharedStateRunning() cls.desirePublisher = cls.simulator.desirePublisher cls.desirePublisher.desireNumberOfWorkers(cls.numWorkers) FORA.initialize() cls.temporaryDirectoryName = tempfile.mkdtemp() cls.temporaryFileName = os.path.join(cls.temporaryDirectoryName, "temp.dat") cls.temporaryFileName2 = os.path.join(cls.temporaryDirectoryName, "temp2.dat") logging.info("CumulusServiceTests: getting remote gateway") cls.gateway = cls.simulator.createCumulusGateway(cls.simulator.callbackScheduler) logging.info("CumulusServiceTests: waiting for cumulus") CumulusSimulationUtils.waitCumulusReady(cls.gateway, cls.numWorkers) logging.info("CumulusServiceTests: cumulus is ready")
def setUpClass(cls): cls.numWorkers = 2 cls.simulator = ClusterSimulation.Simulator.createGlobalSimulator() cls.simulator.startService() cls.simulator.verifySharedStateRunning() cls.desirePublisher = cls.simulator.desirePublisher cls.desirePublisher.desireNumberOfWorkers(cls.numWorkers) FORA.initialize() cls.temporaryDirectoryName = tempfile.mkdtemp() cls.temporaryFileName = os.path.join(cls.temporaryDirectoryName, "temp.dat") cls.temporaryFileName2 = os.path.join(cls.temporaryDirectoryName, "temp2.dat") logging.info('CumulusServiceTests: getting remote gateway') cls.gateway = cls.simulator.createCumulusGateway( cls.simulator.callbackScheduler) logging.info('CumulusServiceTests: waiting for cumulus') CumulusSimulationUtils.waitCumulusReady(cls.gateway, cls.numWorkers) logging.info('CumulusServiceTests: cumulus is ready')
def executeTests(args): anyFailed = False if args.profile is not None: ufora.native.TCMalloc.cpuProfilerStart(args.profile) #TODO FIX if not args.list: print "UFORA root is " + ufora.rootPythonPath print "Test arguments: ", args print print if args.py or args.lang or args.reasoning or args.native or args.localperf: FORA.initialize() if args.native and not args.list: print "Running C++ unit tests:" t0 = time.time() #see if native args had an optinal filter specified native_args = [] if args.native is not True: native_args.append("--run_test=" + args.native) if ufora.native.Tests.test( (["--log_level=test_suite"] if args.testHarnessVerbose else []) + native_args): anyFailed = True print "took ", time.time() - t0 print "\n\n" if args.py: filterFunc = None if args.modpair is not None: def testFilterFunc(tests): result = [] for t in tests: hashval = hexToInt(hashlib.sha1(repr(t)).hexdigest()) if hashval % args.modpair[1] == args.modpair[0]: result.append(t) return result filterFunc = testFilterFunc if not args.list: print "Running python unit tests." print "nose version: ", nose.__version__ print time.ctime(time.time()) if runPythonUnitTests(args, filterFunc): anyFailed = True print "\n\n\n" if args.localperf: print "Running FORA local performance unit tests:" if LocalPerfTest.test(args.list, makeSemanticsTestFilter(args)): anyFailed = True print "\n\n\n" if args.lang: print "Running FORA language semantics unit tests:" if FORASemanticsTest.test(args.testHarnessVerbose, makeSemanticsTestFilter(args), False): anyFailed = True print "\n\n\n" if args.reasoning: print "Reasoning about FORA language semantics unit tests:" if FORASemanticsTest.test(args.testHarnessVerbose, makeSemanticsTestFilter(args), True): anyFailed = True print "\n\n\n" if args.multibox: print "Running multibox tests:" testRunner = MultiMachineTestRunner.createTestRunner( testDir=args.scriptPath or 'test_scripts/multibox', timeout=args.timeout[0] if args.timeout else None) if not testRunner.run(): anyFailed = True print "\n\n\n" if args.scripts: defaultTimeout = args.timeout[0] if args.timeout else None print "Running script unit tests (timeout: %s sec):" % defaultTimeout scriptRunner = TestScriptRunner(testRoot=args.scriptPath or "test_scripts", defaultTimeout=defaultTimeout) if CodeCoverage.is_enabled(): print 'With code coverage' if not scriptRunner.runWithCodeCoverage(): anyFailed = True elif not scriptRunner.run(): anyFailed = True print "\n\n\n" if args.node: print "Running node.js tests:" anyFailed = not runNodeTests() or anyFailed if args.browser: print "Running browser end-to-end test" browserRunner = TestScriptRunner(testRoot='ufora/web/relay/test/e2e') if not browserRunner.run(): anyFailed = True print "\n\n\n" if anyFailed: print "Some unit tests failed!" else: print "All tests passed." import ufora.native.Tests as Tests Tests.gcov_flush() if args.profile is not None: ufora.native.TCMalloc.cpuProfilerStop() if anyFailed: return 1 return 0
foraModule = FORA.importModule(os.path.join(testPath, filename)) moduleMembersAndMetadataDict = FORA.objectMembers(foraModule) for memberName, memberMetadata in moduleMembersAndMetadataDict.iteritems(): if self.isPerfTestCase(memberMetadata): if filename not in perfTestCases: perfTestCases[filename] = set() perfTestCases[filename].add(memberName) metadataForPerfTestCases[(filename, memberName)] = memberMetadata.outer return perfTestCases, metadataForPerfTestCases if __name__ == "__main__": setup = Setup.defaultSetup() with Setup.PushSetup(setup): Setup.config().configureLoggingForUserProgram() FORA.initialize() langfilter = None listOnly = False try: result = test() except: logging.critical(traceback.format_exc()) result = 1
def setUpClass(cls): FORA.initialize()
def executeTests(args): anyFailed = False if args.profile is not None: ufora.native.TCMalloc.cpuProfilerStart(args.profile) #TODO FIX if not args.list: print "UFORA root is " + ufora.rootPythonPath print "Test arguments: ", args print print if args.py or args.lang or args.native or args.localperf: FORA.initialize() if args.native and not args.list: print "Running C++ unit tests:" t0 = time.time() #see if native args had an optinal filter specified native_args = [] if args.native is not True: native_args.append("--run_test=" + args.native) if ufora.native.Tests.test( (["--log_level=test_suite"] if args.testHarnessVerbose else []) + native_args ): anyFailed = True print "took ", time.time() - t0 print "\n\n" if args.py: filterFunc = None if args.modpair is not None: def testFilterFunc(tests): result = [] for t in tests: hashval = hexToInt(hashlib.sha1(repr(t)).hexdigest()) if hashval % args.modpair[1] == args.modpair[0]: result.append(t) return result filterFunc = testFilterFunc if not args.list: print "Running python unit tests." print "nose version: ", nose.__version__ print time.ctime(time.time()) if runPythonUnitTests(args, filterFunc): anyFailed = True print "\n\n\n" if args.localperf: print "Running FORA local performance unit tests:" if LocalPerfTest.test(args.list, makeSemanticsTestFilter(args)): anyFailed = True print "\n\n\n" if args.lang: print "Running FORA language semantics unit tests:" if FORASemanticsTest.test(args.testHarnessVerbose, makeSemanticsTestFilter(args)): anyFailed = True print "\n\n\n" if args.multibox: print "Running multibox tests" testRunner = MultiMachineTestRunner.createTestRunner( testDir=args.scriptPath or 'test_scripts/multibox', timeout=args.timeout[0] ) if not testRunner.run(): anyFailed = True print "\n\n\n" if args.scripts: print "Running script unit tests:", args.timeout[0] scriptRunner = TestScriptRunner(testRoot=args.scriptPath or "test_scripts", defaultTimeout=args.timeout[0]) if CodeCoverage.is_enabled(): print 'With code coverage' if not scriptRunner.runWithCodeCoverage(): anyFailed = True elif not scriptRunner.run(): anyFailed = True print "\n\n\n" if args.node: print "Running node.js tests:" anyFailed = not runNodeTests() or anyFailed if args.browser: print "Running browser end-to-end test" browserRunner = TestScriptRunner(testRoot='ufora/web/relay/test/e2e') if not browserRunner.run(): anyFailed = True print "\n\n\n" if anyFailed: print "Some unit tests failed!" else: print "All tests passed." import ufora.native.Tests as Tests Tests.gcov_flush() if args.profile is not None: ufora.native.TCMalloc.cpuProfilerStop() if anyFailed: return 1 return 0