5 """Automatic testing for qicore behavior's converter"""
7 import distutils.dir_util
20 parser.addoption(
"--xar", action=
"store", default=
"",
21 help=
"specify path of files to use:\n"
22 +
"- old format behavior.xar\n")
27 currentDir = os.path.dirname(os.path.abspath(__file__))
28 args.append(os.path.join(currentDir,
35 @pytest.fixture(scope=
"module")
39 str_args = request.config.getoption(
"--xar")
44 raw_args = str_args.split(
" ")
45 for argument
in raw_args:
46 args.append(os.path.abspath(argument))
50 @pytest.fixture(scope=
"module")
53 temppath = tempfile.mkdtemp()
54 print "\nTest working in %s" % str(temppath)
55 tempdir = py.path.local(temppath)
57 def remove_temp_dir():
58 tempdir.remove(rec=1, ignore_errors=
True)
64 @pytest.fixture(scope=
"module")
69 filename = parse_arg[0]
70 behaviorname = os.path.basename(os.path.dirname(filename))
72 result.append(filename)
75 root_node1 = xar_parser.generate_tree_from_filename(filename)
76 namesBuilder = names_builder.NameMapBuilder()
77 namesBuilder.visit(root_node1)
78 namesMap = namesBuilder.get_name_map()
80 dest_dir = str(mytmpdir.join(
"test1"))
81 distutils.dir_util.mkpath(dest_dir)
83 generator = new_format_generator.NewFormatGenerator(namesMap)
84 generator.visit(root_node1, dest_dir)
85 generator.generate_entry_point(root_node1, behaviorname)
86 result.append(os.path.join(dest_dir,
"behavior.xar"))
89 filename = os.path.join(dest_dir,
"behavior.xar")
90 root_node2 = crg_importer.import_behavior(filename)
92 dest_dir2 = str(mytmpdir.join(
"test2"))
93 distutils.dir_util.mkpath(dest_dir2)
95 generator = xar_format_generator.XarFormatGenerator(root_node2)
96 generator.export_to_xar(dest_dir2)
97 result.append(os.path.join(dest_dir2,
"behavior.xar"))
100 filename = os.path.join(dest_dir2,
"behavior.xar")
101 root_node3 = xar_parser.generate_tree_from_filename(filename)
102 namesBuilder = names_builder.NameMapBuilder()
103 namesBuilder.visit(root_node3)
105 dest_dir3 = str(mytmpdir.join(
"test3"))
106 distutils.dir_util.mkpath(dest_dir3)
108 namesMap = namesBuilder.get_name_map()
109 generator = new_format_generator.NewFormatGenerator(namesMap)
110 generator.visit(root_node3, dest_dir3)
111 generator.generate_entry_point(root_node3, behaviorname)
112 result.append(os.path.join(dest_dir3,
"behavior.xar"))