def main(): script_dir = os.path.dirname(os.path.abspath(__file__)) ext_dir = os.path.join(os.path.dirname(os.path.dirname(script_dir)), "ext") pcompiler_dir = os.path.join(ext_dir, "P") rvmonitor_bin = os.path.join(ext_dir, "rv-monitor", "target", "release", "rv-monitor", "bin") gen_src_dir = os.path.join(script_dir, "target", "generated-sources") p_spec_dir = os.path.join(script_dir, "monitor") aspectj_dir = os.path.join(gen_src_dir, "aspectJ") if not os.path.exists(aspectj_dir): os.makedirs(aspectj_dir) java_dir = os.path.join(gen_src_dir, "java") if not os.path.exists(java_dir): os.makedirs(java_dir) gen_monitor_dir = os.path.join(p_spec_dir, "generated") if not os.path.exists(gen_monitor_dir): os.makedirs(gen_monitor_dir) try: tools.runInDirectory( p_spec_dir, lambda: build(pcompiler_dir, gen_monitor_dir, rvmonitor_bin, p_spec_dir, aspectj_dir, java_dir)) except BaseException as e: removeAll(os.path.join(aspectj_dir, "*.aj")) removeAll(os.path.join(java_dir, "*.java")) raise e
def main(argv): """ Runs a Rvm unit-test. Args: argv (list of str): see the "usageError" function. """ if len(argv) == 0: usageError() test_name = argv[0] script_dir = os.path.dirname(os.path.abspath(__file__)) unittest_dir = os.path.join(script_dir, "Unit") framework_dir = os.path.join(unittest_dir, "Framework") test_dir = os.path.join(unittest_dir, "Test", test_name) rvmonitor_bin_dir = os.path.join(script_dir, "ext", "rv-monitor", "target", "release", "rv-monitor", "bin") root_dir = os.path.dirname(os.path.dirname(os.path.dirname(script_dir))) if len(argv) == 1: setup_dir = tempfile.mkdtemp(suffix=".test", prefix=".tmp.", dir=test_dir) cleanup = lambda: shutil.rmtree(setup_dir) elif len(argv) > 2: usageError() else: setup_dir = argv[1] cleanup = lambda: () # Not using the fancier temporary file tools because we want the # directory to be available if the test fails. setupTests(test_dir, root_dir, rvmonitor_bin_dir, framework_dir, setup_dir, test_name) tools.runInDirectory(setup_dir, lambda: runTests(test_name)) cleanup()
def build(): """ Initializes the RV-Monitor submodule and builds the tool. Raises: SubprocessError if one of the shell subcommands (git and mvn) returns an error. """ script_dir = os.path.dirname(os.path.abspath(__file__)) ext_dir = os.path.join(script_dir, "ext") if not os.path.exists(ext_dir): os.makedirs(ext_dir) tools.runInDirectory(ext_dir, initGitModules) rv_monitor_dir = os.path.join(ext_dir, "rv-monitor") if not os.path.exists( os.path.join(rv_monitor_dir, "target", "release", "rv-monitor", "lib", "rv-monitor.jar")): tools.runInDirectory(rv_monitor_dir, buildRvMonitor)
def main(): """ Compiles a .p file into an AspectJ instrumentation. Produces one aspectJ file and several accompanying Java files. The files are placed into directories as expected by the `pom.xml` file in this directory. """ script_dir = os.path.dirname(os.path.abspath(__file__)) pcompiler_dir = os.path.dirname( os.path.dirname( os.path.dirname(os.path.dirname(os.path.dirname(script_dir))))) rvmonitor_bin = os.path.join(os.path.dirname(os.path.dirname(script_dir)), "ext", "rv-monitor", "target", "release", "rv-monitor", "bin") gen_src_dir = os.path.join(script_dir, "target", "generated-sources") p_spec_dir = os.path.join(script_dir, "monitor") aspectj_dir = os.path.join(gen_src_dir, "aspectJ") if not os.path.exists(aspectj_dir): os.makedirs(aspectj_dir) java_dir = os.path.join(gen_src_dir, "java") if not os.path.exists(java_dir): os.makedirs(java_dir) gen_monitor_dir = os.path.join(p_spec_dir, "generated") if not os.path.exists(gen_monitor_dir): os.makedirs(gen_monitor_dir) try: tools.runInDirectory( p_spec_dir, lambda: build(pcompiler_dir, gen_monitor_dir, rvmonitor_bin, p_spec_dir, aspectj_dir, java_dir)) except BaseException as e: removeAll(os.path.join(aspectj_dir, "*.aj")) removeAll(os.path.join(java_dir, "*.java")) raise e
def main(): script_dir = os.path.dirname(os.path.abspath(__file__)) tools.runInDirectory(script_dir, runGetConsistency)
def main(): script_dir = os.path.dirname(os.path.abspath(__file__)) tools.runInDirectory(script_dir, runTwoPhaseCommit)