Esempio n. 1
0
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)
Esempio n. 2
0
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)
Esempio n. 3
0
    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")
Esempio n. 4
0
    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')
Esempio n. 5
0
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
Esempio n. 6
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



Esempio n. 7
0
 def setUpClass(cls):
     FORA.initialize()
Esempio n. 8
0
File: test.py Progetto: nkhuyu/ufora
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
Esempio n. 9
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

        

Esempio n. 10
0
 def setUpClass(cls):
     FORA.initialize()