def test_noDataDriftOldFormat(generate_data): path_array = generate_data root_node1 = xar_parser.generate_tree_from_filename(path_array[0]) root_node2 = xar_parser.generate_tree_from_filename(path_array[2]) assert root_node1 == root_node2, root_node1.diff(root_node2)
def generate_data(parse_arg, mytmpdir): # execute successives conversion and return an array of output path result = [] filename = parse_arg[0] behaviorname = os.path.basename(os.path.dirname(filename)) # input path is the witness result.append(filename) # first, convert to new format root_node1 = xar_parser.generate_tree_from_filename(filename) namesBuilder = names_builder.NameMapBuilder() namesBuilder.visit(root_node1) namesMap = namesBuilder.get_name_map() dest_dir = str(mytmpdir.join("test1")) distutils.dir_util.mkpath(dest_dir) generator = new_format_generator.NewFormatGenerator(namesMap) generator.visit(root_node1, dest_dir) generator.generate_entry_point(root_node1, behaviorname) result.append(os.path.join(dest_dir, "behavior.xar")) # second, convert result back to old xar format filename = os.path.join(dest_dir, "behavior.xar") root_node2 = crg_importer.import_behavior(filename) dest_dir2 = str(mytmpdir.join("test2")) distutils.dir_util.mkpath(dest_dir2) generator = xar_format_generator.XarFormatGenerator(root_node2) generator.export_to_xar(dest_dir2) result.append(os.path.join(dest_dir2, "behavior.xar")) # third, import and convert once again last xar filename = os.path.join(dest_dir2, "behavior.xar") root_node3 = xar_parser.generate_tree_from_filename(filename) namesBuilder = names_builder.NameMapBuilder() namesBuilder.visit(root_node3) dest_dir3 = str(mytmpdir.join("test3")) distutils.dir_util.mkpath(dest_dir3) namesMap = namesBuilder.get_name_map() generator = new_format_generator.NewFormatGenerator(namesMap) generator.visit(root_node3, dest_dir3) generator.generate_entry_point(root_node3, behaviorname) result.append(os.path.join(dest_dir3, "behavior.xar")) return result
def main(): """ Entry point of the xar converter """ param = [] if len(sys.argv) not in range(2, 4): sys.stderr.write("Incorrect number of arguments" + os.linesep) sys.exit(1) param.append(sys.argv[1]) if (len(sys.argv) == 3): param.append(sys.argv[2]) else: param.append("objects") abspath = os.path.abspath(param[0]) dest_dir = os.path.abspath(param[1]) root = xar_parser.generate_tree_from_filename(abspath) if not root: sys.stderr.write("Incorrect format, file must be in xar_version 3" + os.linesep) sys.exit(6) nmb = nmbuilder.NameMapBuilder() nmb.visit(root) name_map = nmb.get_name_map() nfg = nfgenerator.NewFormatGenerator(name_map) distutils.dir_util.mkpath(dest_dir) nfg.visit(root, dest_dir) nfg.generate_entry_point(root, os.path.dirname(param[0]))
def test_parseOldFormat(parse_args): """ code to parse behavior.xar and get root looking for no throw and root not None """ filename = os.path.abspath(parse_args[0]) root_node = xar_parser.generate_tree_from_filename(filename) assert root_node
def oldFormatRootNode(parse_args): root_node = xar_parser.generate_tree_from_filename(parse_args[0]) assert root_node return root_node