PyICe.refid_modules package

Submodules

PyICe.refid_modules.bench_base module

class PyICe.refid_modules.bench_base.bench_base(**kwargs)

Bases: ABC

add_cleanup(fn)
add_notification(fn)
add_traceability_channels()
cleanup()
cleanup_oven()
close_ports()
get_master()
abstract init(virtual_oven)

‘make this gun work

notify(msg, subject=None, attachment_filenames=[], attachment_MIMEParts=[])

PyICe.refid_modules.bench_identifier module

PyICe.refid_modules.bench_identifier.get_bench_instruments(project_folder_name, benchsetup=None)

PyICe.refid_modules.p4_traceability module

PyICe.refid_modules.p4_traceability.check_file_writable(fnm)
PyICe.refid_modules.p4_traceability.get_client_info()
PyICe.refid_modules.p4_traceability.get_describe(change_number)
PyICe.refid_modules.p4_traceability.get_fstat(local_file)
PyICe.refid_modules.p4_traceability.p4_edit(filename)
class PyICe.refid_modules.p4_traceability.results_dict

Bases: OrderedDict

Ordered dictionary with pretty print addition.

PyICe.refid_modules.p4_traceability.sync_workspace(template_workspace)

PyICe.refid_modules.stdf_utils module

PyICe.refid_modules.temptroller module

PyICe.refid_modules.temptroller.ctrlc(sig, frame)
class PyICe.refid_modules.temptroller.replotter

Bases: object

add_test_run(test_class, table_name, db_file, bench_setup_image=None, bench_setup_list=None, bench_instruments=None, refid=None, skip_plots=False)
add_to_markdown(refid, indent_level=None)
write_html(html_file)
PyICe.refid_modules.temptroller.sig_handler(dwCtrlType, hook_sigint=<built-in function interrupt_main>)
class PyICe.refid_modules.temptroller.temptroller(temperatures=None, debug=False)

Bases: object

add_test(test_module, repeat_count=1)
collect()
email_plots(plot_svg_source)
get_bench_identity()

just used to differentiate notifications. Not necessarily related to acutal bench in use if overridden.

hook_functions(hook_key, *args)
manual_archive()
notify(msg, subject=None, attachment_filenames=[], attachment_MIMEParts=[])
plot()
run(collect_data, skip_plot=False, force_archive=False)
set_lab_bench_constructor(lab_bench_constructor)

override automatic bench lookup mechanism for special equipment setup. Usually not necessary constructure should be executable with no arguments and return an object with (minimally) channel master and notification function attributes

PyICe.refid_modules.test_archive module

class PyICe.refid_modules.test_archive.database_archive(db_source_file)

Bases: object

classmethod ask_archive_folder(suggestion=None)
compute_db_destination(archive_folder)
copy_interactive(archive_folder=None, project_folder_name=None)
copy_table(db_source_table, db_dest_table, db_dest_file, db_indices)
delete_table(db_source_table, commit=True)
disposition_table(table_name, db_dest_file, db_indices)
get_table_names()
classmethod write_plot_script(test_module, test_class, db_table, db_file)

PyICe.refid_modules.test_module module

PyICe.refid_modules.test_module.isnan(value)
class PyICe.refid_modules.test_module.multitest_module(debug=False)

Bases: test_module

class template all test modules shall inherit from this class and implement these abstract methods.

add_multitest_unit(multitest_unit_class)
abstract add_multitest_units()

Implement with repeated calls to self.add_multitest_unit(multitest_unit_class)

compile_test_results(database, table_name)

inspect previously collected data. Check against parametic limits or functional specification to return Pass/Fail aggregated result.

plot(database, table_name, plot_filepath, skip_output=False)

output plot from previously stored data. Static method prevents logger/instrument creation. what about self.get_name()??? return list of svg sources???

register_tests()

todo docs

class PyICe.refid_modules.test_module.multitest_unit(parent_module)

Bases: ABC

class template all test modules shall inherit from this class and implement these abstract methods.

abstract compile_test_results(database, table_name)

inspect previously collected data. Check against parametic limits or functional specification to return Pass/Fail aggregated result.

debug_mode()

query to see if module debug flag is set. useful where otherwise not provided as method argument, ex in setup().

get_correlation_data(REFID, temperature=None)
get_correlation_data_scalar(REFID, temperature)
get_die_traceability_hash_table()
get_name()
get_revid()
get_test_limits(test_name)
get_variant_id()
abstract plot(database, table_name, plot_filepath, skip_output)

output plot from previously stored data. Static method prevents logger/instrument creation. what about self.name??? return list of svg sources??? if skip_output, return svg source without writing to files

abstract register_tests()

enumerate measurments to be taken, limits, etc before writing test or collcting results make repeated calls to self.register_test_*()

exception PyICe.refid_modules.test_module.regressionException

Bases: Exception

special exception class to crash not just a single test module, but the whole enchilada.

class PyICe.refid_modules.test_module.test_module(debug=False)

Bases: ABC

class template all test modules shall inherit from this class and implement these abstract methods.

abort_regression(reason=None)

force crash not just this test, but all of them.

abstract collect(channels, debug)

perform data collection at a single temperature.

classmethod configure_bench(components)
copy_table()
crash_info()
debug_mode()

query to see if module debug flag is set. useful where otherwise not provided as method argument, ex in setup().

export_table_xlsx(filename)
get_db()
get_db_table_name()
get_import_str()
get_lab_bench()
get_logger()
get_max_test_temp()
get_min_test_temp()
classmethod get_name()
hook_functions(hook_key, *args)
in_range(tdegc)
is_crashed()
abstract plot(database, table_name, plot_filepath, skip_output)

output plot from previously stored data. Static method prevents logger/instrument creation. what about self.name??? return list of svg sources???

classmethod plot_from_table(table_name=None, db_file=None, debug=False)
reconfigure(channel, value)

save channel settings specific to a particular test. Unwound after test at each temperature.

register_db_index(column_list)
register_plugin(plugin)
classmethod run(collect_data, temperatures=None, debug=False, lab_bench_constructor=None)
classmethod run_repeatability(repeat_count, temperatures=None, debug=False, lab_bench_constructor=None)
set_max_test_temp(temperature)
set_min_test_temp(temperature)
abstract setup(channels)

customize logger channels and virtual instruments for test here

teardown()

Any test cleanup required after all temps?

temp_is_included(tdegc)

PyICe.refid_modules.test_results module

exception PyICe.refid_modules.test_results.ResultsSchemaMismatchException

Bases: Exception

Mismatch between writer and reader formats

class PyICe.refid_modules.test_results.correlation_results(name, module)

Bases: generic_results

get_correlation_declaration(key)
get_correlation_declarations()
json_report()
class PyICe.refid_modules.test_results.correlation_results_reload(results_json='correlation_results.json')

Bases: correlation_results

json_report(filename='correlation_results_rewrite.json')
PyICe.refid_modules.test_results.freeze(o)
class PyICe.refid_modules.test_results.generic_results

Bases: object

Parent of test_results and correlation_results and keeper of any commonalities.

get_name()
get_traceability_info()
set_db_filepath(db_filepath)
set_table_name(table_name)
PyICe.refid_modules.test_results.make_hash(o)

makes a hash out of anything that contains only list,dict and hashable types including string and numeric types

PyICe.refid_modules.test_results.none_abs(a)
PyICe.refid_modules.test_results.none_max(a, b)
PyICe.refid_modules.test_results.none_min(a, b)
class PyICe.refid_modules.test_results.test_results(name, module)

Bases: generic_results

get_test_declaration(key)
get_test_declarations()
json_report()
class PyICe.refid_modules.test_results.test_results_reload(results_json='test_results.json')

Bases: test_results

json_report(filename='test_results_rewrite.json')

Module contents