# testvector_split.py # Split a testvector by information read from XML menu. from tdf.core.testvector import TestVector from tdf.core.xmlmenu import XmlMenu from tdf.extern import argparse import sys, os, copy parser = argparse.ArgumentParser(description="Split text vector into modules by information from XML file") parser.add_argument('testvector', help="test vector file") parser.add_argument('menu', help="XML menu file") parser.add_argument('-o', metavar='<path>', default=os.getcwd(), help="path to output location") args = parser.parse_args(TDF_ARGS) TDF_INFO("reading", args.testvector) tv = TestVector(args.testvector) TDF_INFO("reading", args.menu) menu = XmlMenu(args.menu) TDF_INFO("menu name:", menu.name) TDF_INFO("menu UUID:", menu.uuid_menu) TDF_INFO("firmware UUID:", menu.uuid_firmware) # Split algorithms by modules. modules = {} for algorithm in menu.algorithms: module_id = algorithm.module_id if module_id not in modules.keys(): modules[module_id] = [] modules[module_id].append(algorithm)
from tdf.extern import argparse from tdf.core import TDF from tdf.core.binutils import bitmask from collections import Counter import sys, os import time DEFAULT_OFFSET = 10 MAX_MODULES = 6 FW_BUILD = 0xabc3 FINOR_CABLE = 0 VETO_CABLE = 1 FINOR2TCDS_CABLE = 2 parser = argparse.ArgumentParser() parser.add_argument('--modules', metavar='<n>[-<m>]', help="single module or range of modules (default 0-5)") parser.add_argument( '--offset', metavar='<n>', default=DEFAULT_OFFSET, type=int, help="take sample data with offset (default {})".format(DEFAULT_OFFSET)) parser.add_argument('--reset', action='store_true', help="reset AMC502 logic before test") args = parser.parse_args(TDF_ARGS) # variable for the final output