Adding keywords and objects for both pmc get_default_data_set and get_parent_data_set Change-Id: Ie266390ee797d1c9886cbeb319694628165ec99a
240 lines
11 KiB
Python
240 lines
11 KiB
Python
from keywords.ptp.cat.objects.cat_ptp_config_output import CATPtpConfigOutput
|
|
|
|
cat_ptp_config = [
|
|
'[global] \n',
|
|
'#\n',
|
|
'# Default Data Set\n',
|
|
'#\n',
|
|
'twoStepFlag 1\n',
|
|
'slaveOnly 0\n',
|
|
'socket_priority 0\n',
|
|
'priority1 128\n',
|
|
'priority2 128\n',
|
|
'domainNumber 0\n',
|
|
'#utc_offset 37\n',
|
|
'clockClass 248\n',
|
|
'clockAccuracy 0xFE\n',
|
|
'offsetScaledLogVariance 0xFFFF\n',
|
|
'free_running 0\n',
|
|
'freq_est_interval 1\n',
|
|
'dscp_event 0\n',
|
|
'dscp_general 0\n',
|
|
'dataset_comparison ieee1588\n',
|
|
'G.8275.defaultDS.localPriority 128\n',
|
|
'maxStepsRemoved 255\n',
|
|
'#\n',
|
|
'# Port Data Set\n',
|
|
'#\n',
|
|
'logAnnounceInterval 1\n',
|
|
'logSyncInterval 0\n',
|
|
'operLogSyncInterval 0\n',
|
|
'logMinDelayReqInterval 0\n',
|
|
'logMinPdelayReqInterval 0\n',
|
|
'operLogPdelayReqInterval 0\n',
|
|
'announceReceiptTimeout 3\n',
|
|
'syncReceiptTimeout 0\n',
|
|
'delayAsymmetry 0\n',
|
|
'fault_reset_interval 4\n',
|
|
'neighborPropDelayThresh 20000000\n',
|
|
'masterOnly 0\n',
|
|
'G.8275.portDS.localPriority 128\n',
|
|
'asCapable auto\n',
|
|
'BMCA ptp\n',
|
|
'inhibit_announce 0\n',
|
|
'inhibit_delay_req 0\n',
|
|
'ignore_source_id 0\n',
|
|
'#\n',
|
|
'# Run time options\n',
|
|
'#\n',
|
|
'assume_two_step 0\n',
|
|
'logging_level 6\n',
|
|
'path_trace_enabled 0\n',
|
|
'follow_up_info 0\n',
|
|
'hybrid_e2e 0\n',
|
|
'inhibit_multicast_service 0\n',
|
|
'net_sync_monitor 0\n',
|
|
'tc_spanning_tree 0\n',
|
|
'tx_timestamp_timeout 1\n',
|
|
'unicast_listen 0\n',
|
|
'unicast_master_table 0\n',
|
|
'unicast_req_duration 3600\n',
|
|
'use_syslog 1\n',
|
|
'verbose 0\n',
|
|
'summary_interval 0\n',
|
|
'kernel_leap 1\n',
|
|
'check_fup_sync 0\n',
|
|
'#\n',
|
|
'# Servo Options\n',
|
|
'#\n',
|
|
'pi_proportional_const 0.0\n',
|
|
'pi_integral_const 0.0\n',
|
|
'pi_proportional_scale 0.0\n',
|
|
'pi_proportional_exponent -0.3\n',
|
|
'pi_proportional_norm_max 0.7\n',
|
|
'pi_integral_scale 0.0\n',
|
|
'pi_integral_exponent 0.4\n',
|
|
'pi_integral_norm_max 0.3\n',
|
|
'step_threshold 0.0\n',
|
|
'first_step_threshold 0.00002\n',
|
|
'max_frequency 900000000\n',
|
|
'clock_servo pi\n',
|
|
'sanity_freq_limit 200000000\n',
|
|
'ntpshm_segment 0\n',
|
|
'msg_interval_request 0\n',
|
|
'servo_num_offset_values 10\n',
|
|
'servo_offset_threshold 0\n',
|
|
'write_phase_mode 0\n',
|
|
'#\n',
|
|
'# Transport options\n',
|
|
'#\n',
|
|
'transportSpecific 0x0\n',
|
|
'ptp_dst_mac 01:1B:19:00:00:00\n',
|
|
'p2p_dst_mac 01:80:C2:00:00:0E\n',
|
|
'udp_ttl 1\n',
|
|
'udp6_scope 0x0E\n',
|
|
'uds_address /var/run/ptp4l\n',
|
|
'uds_ro_address /var/run/ptp4lro\n',
|
|
'#\n',
|
|
'# Default interface options\n',
|
|
'#\n',
|
|
'clock_type OC\n',
|
|
'network_transport UDPv4\n',
|
|
'delay_mechanism E2E\n',
|
|
'time_stamping hardware\n',
|
|
'tsproc_mode filter\n',
|
|
'delay_filter moving_median\n',
|
|
'delay_filter_length 10\n',
|
|
'egressLatency 0\n',
|
|
'ingressLatency 0\n',
|
|
'boundary_clock_jbod 0\n',
|
|
'#\n',
|
|
'# Clock description\n',
|
|
'#\n',
|
|
'productDescription ;;\n',
|
|
'revisionData ;;\n',
|
|
'manufacturerIdentity 00:00:00\n',
|
|
'userDescription ;\n',
|
|
'timeSource 0xA0\n',
|
|
]
|
|
|
|
|
|
def test_cat_ptp_config_output():
|
|
"""
|
|
Tests cat_ptp_config_output
|
|
Returns:
|
|
|
|
"""
|
|
cat_ptp_config_output = CATPtpConfigOutput(cat_ptp_config)
|
|
|
|
# validate default data set
|
|
default_data_set_object = cat_ptp_config_output.get_data_set_output().get_pmc_get_default_data_set_object()
|
|
assert default_data_set_object.get_two_step_flag() == 1
|
|
assert default_data_set_object.get_slave_only() == 0
|
|
assert default_data_set_object.get_socket_priority() == 0
|
|
assert default_data_set_object.get_priority1() == 128
|
|
assert default_data_set_object.get_priority2() == 128
|
|
assert default_data_set_object.get_domain_number() == '0'
|
|
assert default_data_set_object.get_utc_offset() == 37
|
|
assert default_data_set_object.get_clock_class() == 248
|
|
assert default_data_set_object.get_clock_accuracy() == '0xFE'
|
|
assert default_data_set_object.get_offset_scaled_log_variance() == '0xFFFF'
|
|
assert default_data_set_object.get_free_running() == 0
|
|
assert default_data_set_object.get_freq_est_interval() == 1
|
|
assert default_data_set_object.get_dscp_event() == 0
|
|
assert default_data_set_object.get_dscp_general() == 0
|
|
assert default_data_set_object.get_dataset_comparison() == 'ieee1588'
|
|
assert default_data_set_object.get_max_steps_removed() == 255
|
|
|
|
# validate the port data object
|
|
port_data_object = cat_ptp_config_output.get_port_data_set_output().get_port_data_set_object()
|
|
assert port_data_object.get_log_announce_interval() == 1
|
|
assert port_data_object.get_log_sync_interval() == 0
|
|
assert port_data_object.get_oper_log_sync_interval() == 0
|
|
assert port_data_object.get_log_min_delay_req_interval() == 0
|
|
assert port_data_object.get_log_min_p_delay_req_interval() == 0
|
|
assert port_data_object.get_oper_log_p_delay_req_interval() == 0
|
|
assert port_data_object.get_announce_receipt_timeout() == 3
|
|
assert port_data_object.get_sync_receipt_timeout() == 0
|
|
assert port_data_object.get_delay_asymmetry() == 0
|
|
assert port_data_object.get_fault_reset_interval() == 4
|
|
assert port_data_object.get_neighbor_prop_delay_thresh() == 20000000
|
|
assert port_data_object.get_master_only() == 0
|
|
assert port_data_object.get_as_capable() == 'auto'
|
|
assert port_data_object.get_bmca() == 'ptp'
|
|
assert port_data_object.get_inhibit_announce() == 0
|
|
assert port_data_object.get_inhibit_delay_req() == 0
|
|
assert port_data_object.get_ignore_source_id() == 0
|
|
|
|
# validate run time options
|
|
run_time_options_object = cat_ptp_config_output.get_run_time_options_output().get_run_time_options_object()
|
|
assert run_time_options_object.get_assume_two_step() == 0
|
|
assert run_time_options_object.get_logging_level() == 6
|
|
assert run_time_options_object.get_path_trace_enabled() == 0
|
|
assert run_time_options_object.get_follow_up_info() == 0
|
|
assert run_time_options_object.get_hybrid_e2e() == 0
|
|
assert run_time_options_object.get_inhibit_multicast_service() == 0
|
|
assert run_time_options_object.get_net_sync_monitor() == 0
|
|
assert run_time_options_object.get_tc_spanning_tree() == 0
|
|
assert run_time_options_object.get_tx_timestamp_timeout() == 1
|
|
assert run_time_options_object.get_unicast_listen() == 0
|
|
assert run_time_options_object.get_unicast_master_table() == 0
|
|
assert run_time_options_object.get_unicast_req_duration() == 3600
|
|
assert run_time_options_object.get_use_syslog() == 1
|
|
assert run_time_options_object.get_verbose() == 0
|
|
assert run_time_options_object.get_summary_interval() == 0
|
|
assert run_time_options_object.get_kernel_leap() == 1
|
|
assert run_time_options_object.get_check_fup_sync() == 0
|
|
|
|
# validate Servo Options
|
|
servo_options_object = cat_ptp_config_output.get_servo_options_output().get_servo_options_object()
|
|
assert servo_options_object.get_pi_proportional_const() == 0.0
|
|
assert servo_options_object.get_pi_integral_const() == 0.0
|
|
assert servo_options_object.get_pi_proportional_scale() == 0.0
|
|
assert servo_options_object.get_pi_proportional_exponent() == -0.3
|
|
assert servo_options_object.get_pi_proportional_norm_max() == 0.7
|
|
assert servo_options_object.get_pi_integral_scale() == 0.0
|
|
assert servo_options_object.get_pi_integral_exponent() == 0.4
|
|
assert servo_options_object.get_pi_integral_norm_max() == 0.3
|
|
assert servo_options_object.get_step_threshold() == 0.0
|
|
assert servo_options_object.get_first_step_threshold() == 0.00002
|
|
assert servo_options_object.get_max_frequency() == 900000000
|
|
assert servo_options_object.get_clock_servo() == 'pi'
|
|
assert servo_options_object.get_sanity_freq_limit() == 200000000
|
|
assert servo_options_object.get_ntpshm_segment() == 0
|
|
assert servo_options_object.get_msg_interval_request() == 0
|
|
assert servo_options_object.get_servo_num_offset_values() == 10
|
|
assert servo_options_object.get_servo_offset_threshold() == 0
|
|
assert servo_options_object.get_write_phase_mode() == 0
|
|
|
|
# validate transport options
|
|
|
|
transport_options_object = cat_ptp_config_output.get_transport_options_output().get_transport_options_object()
|
|
assert transport_options_object.get_transport_specific() == '0x0'
|
|
assert transport_options_object.get_ptp_dst_mac() == '01:1B:19:00:00:00'
|
|
assert transport_options_object.get_p2p_dst_mac() == '01:80:C2:00:00:0E'
|
|
assert transport_options_object.get_udp_ttl() == 1
|
|
assert transport_options_object.get_udp6_scope() == '0x0E'
|
|
assert transport_options_object.get_uds_address() == '/var/run/ptp4l'
|
|
assert transport_options_object.get_uds_ro_address() == '/var/run/ptp4lro'
|
|
|
|
# validate default interface options
|
|
default_interface_object = cat_ptp_config_output.get_default_interface_options_output().get_default_interface_options_object()
|
|
assert default_interface_object.get_clock_type() == 'OC'
|
|
assert default_interface_object.get_network_transport() == 'UDPv4'
|
|
assert default_interface_object.get_delay_mechanism() == 'E2E'
|
|
assert default_interface_object.get_time_stamping() == 'hardware'
|
|
assert default_interface_object.get_tsproc_mode() == 'filter'
|
|
assert default_interface_object.get_delay_filter() == 'moving_median'
|
|
assert default_interface_object.get_delay_filter_length() == 10
|
|
assert default_interface_object.get_egress_latency() == 0
|
|
assert default_interface_object.get_ingress_latency() == 0
|
|
assert default_interface_object.get_boundary_clock_jbod() == 0
|
|
|
|
# validate clock description
|
|
clock_description_object = cat_ptp_config_output.get_clock_description_output().get_clock_description_object()
|
|
assert clock_description_object.get_product_description() == ';;'
|
|
assert clock_description_object.get_revision_data() == ';;'
|
|
assert clock_description_object.get_manufacturer_identity() == '00:00:00'
|
|
assert clock_description_object.get_user_description() == ';'
|
|
assert clock_description_object.get_time_source() == '0xA0'
|