+ if suite_lvl == start_lvl:
+ # Our top-level suite
+ chapter = suite_longname.split(u'.')[-1]
+ file_name = f"{table_set}/{chapter}.rst"
+ logging.info(f" Writing file {file_name}")
+ with open(file_name, u"a") as file_handler:
+ file_handler.write(rst_header)
+ if chapters.get(chapter, None) is None:
+ chapters[chapter] = OrderedDict()
+ chapters[chapter][sub_chapter] = file_name
+
+ title_line = get_rst_title_char(suite[u"level"] - start_lvl + 2) * \
+ len(sub_chapter)
+ with open(file_name, u"a") as file_handler:
+ if not (u"-ndrpdr" in suite[u"name"] or
+ u"-mrr" in suite[u"name"] or
+ u"-dev" in suite[u"name"]):
+ file_handler.write(f"\n{sub_chapter}\n{title_line}\n")
+
+ if _tests_in_suite(suite[u"name"], tests):
+ for tbl_file in table_lst:
+ if suite[u"name"] in tbl_file:
+ file_handler.write(
+ f"\n{suite[u'name']}\n{title_line}\n"
+ )
+ file_handler.write(
+ f"\n{suite[u'doc']}\n".
+ replace(u'|br|', u'\n\n -')
+ )
+ if frmt == u"html":
+ file_handler.write(
+ f"\n.. include:: {tbl_file.split(u'/')[-1]}"
+ f"\n"
+ )
+ elif frmt == u"rst":
+ file_handler.write(
+ RST_INCLUDE_TABLE.format(
+ file_latex=tbl_file,
+ file_html=tbl_file.split(u"/")[-1])
+ )
+ break
+ titles = {
+ # VPP Perf, MRR
+ u"container_memif": u"LXC/DRC Container Memif",
+ u"crypto": u"IPsec IPv4 Routing",
+ u"hoststack": u"Hoststack Testing",
+ u"ip4": u"IPv4 Routing",
+ u"ip4_tunnels": u"IPv4 Tunnels",
+ u"ip6": u"IPv6 Routing",
+ u"ip6_tunnels": u"IPv6 Tunnels",
+ u"l2": u"L2 Ethernet Switching",
+ u"lb": u"LoadBalancer",
+ u"nfv_density": u"NFV Service Density",
+ u"srv6": u"SRv6 Routing",
+ u"vm_vhost": u"KVM VMs vhost-user",
+ u"vts": u"Virtual Topology System",
+ # VPP Device
+ u"interfaces": u"Interfaces",
+ u"l2bd": u"L2 Bridge-domain",
+ u"l2patch": u"L2 Patch",
+ u"l2xc": u"L2 Cross-connect",
+ }