[config] Enable YANG validation for override #3152
Build #20240207.2 had test failures
Details
- Failed: 23 (0.82%)
- Passed: 2,775 (99.07%)
- Other: 3 (0.11%)
- Total: 2,801
Annotations
Check failure on line 5098 in Build log
azure-pipelines / Azure.sonic-utilities
Build log #L5098
Bash exited with code '1'.
Check failure on line 21 in Build log
azure-pipelines / Azure.sonic-utilities
Build log #L21
There are one or more test failures detected in result files. Detailed summary of published test results can be viewed in the Tests tab.
Check failure on line 1 in test_show_buffer_configuration
azure-pipelines / Azure.sonic-utilities
test_show_buffer_configuration
AssertionError: assert ('Lossless traffic pattern:\n'\n '-------------------- -\n'\n 'default_dynamic_th 0\n'\n 'over_subscribe_ratio 2\n'\n '-------------------- -\n'\n '\n'\n 'Pool: egress_lossless_pool\n'\n '---- --------\n'\n 'mode dynamic\n'\n 'size 13945824\n'\n 'type egress\n'\n '---- --------\n'\n '\n'\n 'Pool: egress_lossy_pool\n'\n '---- -------\n'\n 'mode dynamic\n'\n 'type egress\n'\n '---- -------\n'\n '\n'\n 'Pool: ingress_lossless_pool\n'\n '---- -------\n'\n 'mode dynamic\n'\n 'type ingress\n'\n '---- -------\n'\n '\n'\n 'Pool: ingress_lossy_pool\n'\n '---- -------\n'\n 'mode dynamic\n'\n 'type ingress\n'\n '---- -------\n'\n '\n'\n 'Pool: ingress_lossless_pool_hbm\n'\n '---- ---------\n'\n 'mode static\n'\n 'size 139458240\n'\n 'type ingress\n'\n '---- ---------\n'\n '\n'\n 'Profile: ingress_lossy_profile\n'\n '---------- ------------------\n'\n 'dynamic_th 3\n'\n 'pool ingress_lossy_pool\n'\n 'size 0\n'\n '---------- ------------------\n'\n '\n'\n 'Profile: ingress_lossless_profile_hbm\n'\n '--------- -------------------------\n'\n 'static_th 12121212\n'\n 'pool ingress_lossless_pool_hbm\n'\n 'size 0\n'\n '--------- -------------------------\n'\n '\n'\n 'Profile: headroom_profile\n'\n '---------- ---------------------\n'\n 'dynamic_th 0\n'\n 'pool ingress_lossless_pool\n'\n 'xon 18432\n'\n 'xoff 32768\n'\n 'size 51200\n'\n '---------- ---------------------\n'\n '\n'\n 'Profile: alpha_profile\n'\n '------------- ---------------------\n'\n 'dynamic_th 0\n'\n 'pool ingress_lossless_pool\n'\n 'headroom_type dynamic\n'\n 'size 0\n'\n '------------- ---------------------\n'\n '\n'\n 'Profile: egress_lossless_profile\n'\n '---------- --------------------\n'\n 'dynamic_th 0\n'\n 'pool egress_lossless_pool\n'\n 'size 0\n'\n '---------- --------------------\n'\n '\n'\n 'Profile: egress_lossy_profile\n'\n '---------- -----------------\n'\n 'dynamic_th 0\n'\n 'pool egress_lossy_pool\n'\n 'size 0\n'\n '---------- -----------------\n'\n '\n') == ('Lossless traffic pattern:\n'\n '-------------------- -\n'\n 'default_dynamic_th 0\n'\n 'over_subscribe_ratio 2\n'\n '-------------------- -\n'\n '\n'\n 'Pool: egress_lossless_pool\n'\n '---- --------\n'\n 'mode dynamic\n'\n 'size 13945824\n'\n 'type egress\n'\n '---- --------\n'\n '\n'\n 'Pool: egress_lossy_pool\n'\n '---- -------\n'\n 'mode dynamic\n'\n 'type egress\n'\n '---- -------\n'\n '\n'\n 'Pool: ingress_lossless_pool\n'\n '---- -------\n'\n 'mode dynamic\n'\n 'type ingress\n'\n '---- -------\n'\n '\n'\n 'Pool: ingress_lossy_pool\n'\n '---- -------\n'\n 'mode dynamic\n'\n 'type ingress\n'\n '---- -------\n'\n '\n'\n 'Pool: ingress_lossless_pool_hbm\n'\n '---- ---------\n'\n 'mode static\n'\n 'size 139458240\n'\n 'type ingress\n'\n '---- ---------\n'\n '\n'\n 'Profile: ingress_lossy_profile\n'\n '---------- ------------------\n'\n 'dynamic_th 3\n'\n 'pool ingress_lossy_pool\n'\n 'size 0\n'\n '---------- ------------------\n'\n '\n'\n 'Profile: ingress_lossless_profile_hbm\n'\n '--------- -------------------------\n'\n 'static_th 12121212\n'\n 'pool ingress_lossless_pool_hbm\n'\n 'size 0\n'\n '--------- -------------------------\n'\n '\n'\n 'Profile: headroom_profile\n'\n '---------- ---------------------\n'\n 'dynamic_th 0\n'\n 'pool ingress_lossless_pool\n'\n 'xon 18432\n'\n 'xoff 32768\n'\n 'size 51200\n'\n '---------- ---------------------\n'\n '\n'\n 'Profile: alpha_profile\n'\n '------------- ---------------------\n'\n 'dynamic_th 0\n'\n 'pool ingress_lossless_pool\n'\n 'headroom_type dynamic\n'\n '------------- ---------------------\n'\n '\n'\n 'Profile: egress_lossless_profile\n'\n '---------- --------------------\n'\n 'dynamic_th 0\n'\n 'pool egress_lossless_pool\n'\n 'size 0\n'\n '----------
Raw output
self = <tests.buffer_test.TestBuffer object at 0x7f01207c43a0>
def test_show_buffer_configuration(self):
> self.executor(testData['show_buffer_configuration'])
tests/buffer_test.py:272:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <tests.buffer_test.TestBuffer object at 0x7f01207c43a0>
testcase = [{'cmd': ['buffer', 'configuration'], 'rc_output': 'Lossless traffic pattern:\n-------------------- -\ndefault_dynami...- -----------------\ndynamic_th 0\npool egress_lossy_pool\nsize 0\n---------- -----------------\n\n'}]
def executor(self, testcase):
runner = CliRunner()
for input in testcase:
exec_cmd = show.cli.commands[input['cmd'][0]].commands[input['cmd'][1]]
result = runner.invoke(exec_cmd, [], catch_exceptions=True)
print(result.exit_code)
print(result.output)
if result.exception:
print(result.exception)
assert result.exit_code == 0
> assert result.output == input['rc_output']
E AssertionError: assert ('Lossless traffic pattern:\n'\n '-------------------- -\n'\n 'default_dynamic_th 0\n'\n 'over_subscribe_ratio 2\n'\n '-------------------- -\n'\n '\n'\n 'Pool: egress_lossless_pool\n'\n '---- --------\n'\n 'mode dynamic\n'\n 'size 13945824\n'\n 'type egress\n'\n '---- --------\n'\n '\n'\n 'Pool: egress_lossy_pool\n'\n '---- -------\n'\n 'mode dynamic\n'\n 'type egress\n'\n '---- -------\n'\n '\n'\n 'Pool: ingress_lossless_pool\n'\n '---- -------\n'\n 'mode dynamic\n'\n 'type ingress\n'\n '---- -------\n'\n '\n'\n 'Pool: ingress_lossy_pool\n'\n '---- -------\n'\n 'mode dynamic\n'\n 'type ingress\n'\n '---- -------\n'\n '\n'\n 'Pool: ingress_lossless_pool_hbm\n'\n '---- ---------\n'\n 'mode static\n'\n 'size 139458240\n'\n 'type ingress\n'\n '---- ---------\n'\n '\n'\n 'Profile: ingress_lossy_profile\n'\n '---------- ------------------\n'\n 'dynamic_th 3\n'\n 'pool ingress_lossy_pool\n'\n 'size 0\n'\n '---------- ------------------\n'\n '\n'\n 'Profile: ingress_lossless_profile_hbm\n'\n '--------- -------------------------\n'\n 'static_th 12121212\n'\n 'pool ingress_lossless_pool_hbm\n'\n 'size 0\n'\n '--------- -------------------------\n'\n '\n'\n 'Profile: headroom_profile\n'\n '---------- ---------------------\n'\n 'dynamic_th 0\n'\n 'pool ingress_lossless_pool\n'\n 'xon 18432\n'\n 'xoff 32768\n'\n 'size 51200\n'\n '---------- ---------------------\n'\n '\n'\n 'Profile: alpha_profile\n'\n '------------- ---------------------\n'\n 'dynamic_th 0\n'\n 'pool ingress_lossless_pool\n'\n 'headroom_type dynamic\n'\n 'size 0\n'\n '------------- ---------------------\n'\n '\n'\n 'Profile: egress_lossless_profile\n'\n '---------- --------------------\n'\n 'dynamic_th 0\n'\n 'pool egress_lossless_pool\n'\n 'size 0\n'\n '---------- --------------------\n'\n '\n'\n 'Profile: egress_lossy_profile\n'\n '---------- -----------------\n'\n 'dynamic_th 0\n'\n 'pool egress_lossy_pool\n'\n 'size 0\n'\n '---------- -----------------\n'\n '\n') == ('Lossless traffic pattern:\n'\n '-------------------- -\n'\n 'default_dynamic_th 0\n'\n 'over_subscribe_ratio 2\n'\n '-------------------- -\n'\n '\n'\n 'Pool: egress_lossless_pool\n'\n '---- --------\n'\n 'mode dynamic\n'\n 'size 13945824\n'\n 'type egress\n'\n '---- --------\n'\n '\n'\n 'Pool: egress_lossy_pool\n'\n '---- -------\n'\n 'mode dynamic\n'\n 'type egress\n'\n '---- -------\n'\n '\n'\n 'Pool: ingress_lossless_pool\n'\n '---- -------\n'\n 'mode dynamic\n'\n 'type ingress\n'\n '---- -------\n'\n '\n'\n 'Pool: ingress_lossy_pool\n'\n '---- -------\n'\n 'mode dynamic\n'\n 'type ingress\n'\n '---- -------\n'\n '\n'\n 'Pool: ingress_lossless_pool_hbm\n'\n '---- ---------\n'\n 'mode static\n'\n 'size 139
Check failure on line 1 in test_mmu_show_config
azure-pipelines / Azure.sonic-utilities
test_mmu_show_config
AssertionError: assert ('Lossless traffic pattern:\n'\n '-------------------- -\n'\n 'default_dynamic_th 0\n'\n 'over_subscribe_ratio 2\n'\n '-------------------- -\n'\n '\n'\n 'Pool: egress_lossless_pool\n'\n '---- --------\n'\n 'mode dynamic\n'\n 'size 13945824\n'\n 'type egress\n'\n '---- --------\n'\n '\n'\n 'Pool: egress_lossy_pool\n'\n '---- -------\n'\n 'mode dynamic\n'\n 'type egress\n'\n '---- -------\n'\n '\n'\n 'Pool: ingress_lossless_pool\n'\n '---- -------\n'\n 'mode dynamic\n'\n 'type ingress\n'\n '---- -------\n'\n '\n'\n 'Pool: ingress_lossy_pool\n'\n '---- -------\n'\n 'mode dynamic\n'\n 'type ingress\n'\n '---- -------\n'\n '\n'\n 'Pool: ingress_lossless_pool_hbm\n'\n '---- ---------\n'\n 'mode static\n'\n 'size 139458240\n'\n 'type ingress\n'\n '---- ---------\n'\n '\n'\n 'Profile: ingress_lossy_profile\n'\n '---------- ------------------\n'\n 'dynamic_th 3\n'\n 'pool ingress_lossy_pool\n'\n 'size 0\n'\n '---------- ------------------\n'\n '\n'\n 'Profile: ingress_lossless_profile_hbm\n'\n '--------- -------------------------\n'\n 'static_th 12121212\n'\n 'pool ingress_lossless_pool_hbm\n'\n 'size 0\n'\n '--------- -------------------------\n'\n '\n'\n 'Profile: headroom_profile\n'\n '---------- ---------------------\n'\n 'dynamic_th 0\n'\n 'pool ingress_lossless_pool\n'\n 'xon 18432\n'\n 'xoff 32768\n'\n 'size 51200\n'\n '---------- ---------------------\n'\n '\n'\n 'Profile: alpha_profile\n'\n '------------- ---------------------\n'\n 'dynamic_th 0\n'\n 'pool ingress_lossless_pool\n'\n 'headroom_type dynamic\n'\n 'size 0\n'\n '------------- ---------------------\n'\n '\n'\n 'Profile: egress_lossless_profile\n'\n '---------- --------------------\n'\n 'dynamic_th 0\n'\n 'pool egress_lossless_pool\n'\n 'size 0\n'\n '---------- --------------------\n'\n '\n'\n 'Profile: egress_lossy_profile\n'\n '---------- -----------------\n'\n 'dynamic_th 0\n'\n 'pool egress_lossy_pool\n'\n 'size 0\n'\n '---------- -----------------\n'\n '\n') == ('Lossless traffic pattern:\n'\n '-------------------- -\n'\n 'default_dynamic_th 0\n'\n 'over_subscribe_ratio 2\n'\n '-------------------- -\n'\n '\n'\n 'Pool: egress_lossless_pool\n'\n '---- --------\n'\n 'mode dynamic\n'\n 'size 13945824\n'\n 'type egress\n'\n '---- --------\n'\n '\n'\n 'Pool: egress_lossy_pool\n'\n '---- -------\n'\n 'mode dynamic\n'\n 'type egress\n'\n '---- -------\n'\n '\n'\n 'Pool: ingress_lossless_pool\n'\n '---- -------\n'\n 'mode dynamic\n'\n 'type ingress\n'\n '---- -------\n'\n '\n'\n 'Pool: ingress_lossy_pool\n'\n '---- -------\n'\n 'mode dynamic\n'\n 'type ingress\n'\n '---- -------\n'\n '\n'\n 'Pool: ingress_lossless_pool_hbm\n'\n '---- ---------\n'\n 'mode static\n'\n 'size 139458240\n'\n 'type ingress\n'\n '---- ---------\n'\n '\n'\n 'Profile: ingress_lossy_profile\n'\n '---------- ------------------\n'\n 'dynamic_th 3\n'\n 'pool ingress_lossy_pool\n'\n 'size 0\n'\n '---------- ------------------\n'\n '\n'\n 'Profile: ingress_lossless_profile_hbm\n'\n '--------- -------------------------\n'\n 'static_th 12121212\n'\n 'pool ingress_lossless_pool_hbm\n'\n 'size 0\n'\n '--------- -------------------------\n'\n '\n'\n 'Profile: headroom_profile\n'\n '---------- ---------------------\n'\n 'dynamic_th 0\n'\n 'pool ingress_lossless_pool\n'\n 'xon 18432\n'\n 'xoff 32768\n'\n 'size 51200\n'\n '---------- ---------------------\n'\n '\n'\n 'Profile: alpha_profile\n'\n '------------- ---------------------\n'\n 'dynamic_th 0\n'\n 'pool ingress_lossless_pool\n'\n 'headroom_type dynamic\n'\n '------------- ---------------------\n'\n '\n'\n 'Profile: egress_lossless_profile\n'\n '---------- --------------------\n'\n 'dynamic_th 0\n'\n 'pool egress_lossless_pool\n'\n 'size 0\n'\n '----------
Raw output
self = <tests.mmuconfig_test.Testmmuconfig object at 0x7f011e6867f0>
def test_mmu_show_config(self):
> self.executor(testData['mmuconfig_list'])
tests/mmuconfig_test.py:27:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <tests.mmuconfig_test.Testmmuconfig object at 0x7f011e6867f0>
input = {'args': [], 'cmd': ['show'], 'rc': 0, 'rc_output': 'Lossless traffic pattern:\n-------------------- -\ndefault_dynam...-- -----------------\ndynamic_th 0\npool egress_lossy_pool\nsize 0\n---------- -----------------\n\n'}
def executor(self, input):
runner = CliRunner()
if 'db_table' in input:
db = Db()
data_list = list(db.cfgdb.get_table(input['db_table']))
input['rc_msg'] = input['rc_msg'].format(",".join(data_list))
if 'show' in input['cmd']:
exec_cmd = show.cli.commands["mmu"]
result = runner.invoke(exec_cmd, input['args'])
exit_code = result.exit_code
output = result.output
elif 'config' in input['cmd']:
exec_cmd = config.config.commands["mmu"]
result = runner.invoke(exec_cmd, input['args'], catch_exceptions=False)
exit_code = result.exit_code
output = result.output
print(exit_code)
print(output)
if input['rc'] == 0:
assert exit_code == 0
else:
assert exit_code != 0
if 'cmp_args' in input:
fd = open('/tmp/mmuconfig', 'r')
cmp_data = json.load(fd)
for args in input['cmp_args']:
profile, name, value = args.split(',')
assert(cmp_data[profile][name] == value)
fd.close()
if 'rc_msg' in input:
assert input['rc_msg'] in output
if 'rc_output' in input:
> assert output == input['rc_output']
E AssertionError: assert ('Lossless traffic pattern:\n'\n '-------------------- -\n'\n 'default_dynamic_th 0\n'\n 'over_subscribe_ratio 2\n'\n '-------------------- -\n'\n '\n'\n 'Pool: egress_lossless_pool\n'\n '---- --------\n'\n 'mode dynamic\n'\n 'size 13945824\n'\n 'type egress\n'\n '---- --------\n'\n '\n'\n 'Pool: egress_lossy_pool\n'\n '---- -------\n'\n 'mode dynamic\n'\n 'type egress\n'\n '---- -------\n'\n '\n'\n 'Pool: ingress_lossless_pool\n'\n '---- -------\n'\n 'mode dynamic\n'\n 'type ingress\n'\n '---- -------\n'\n '\n'\n 'Pool: ingress_lossy_pool\n'\n '---- -------\n'\n 'mode dynamic\n'\n 'type ingress\n'\n '---- -------\n'\n '\n'\n 'Pool: ingress_lossless_pool_hbm\n'\n '---- ---------\n'\n 'mode static\n'\n 'size 139458240\n'\n 'type ingress\n'\n '---- ---------\n'\n '\n'\n 'Profile: ingress_lossy_profile\n'\n '---------- ------------------\n'\n 'dynamic_th 3\n'\n 'pool ingress_lossy_pool\n'\n 'size 0\n'\n '---------- ------------------\n'\n '\n'\n 'Profile: ingress_lossless_profile_hbm\n'\n '--------- -------------------------\n'\n 'static_th 12121212\n'\n 'pool ingress_lossless_pool_hbm\n'\n 'size 0\n'\n '--------- -------------------------\n'\n '\n'\n 'Profile: headroom_profile\n'\n '---------- ---------------------\n'\n 'dynamic_th 0\n'\n 'pool ingress_lossless_pool\n'\n 'xon 18432\n'\n 'xoff 32768\n'\n 'size 51200\n'\n '---------- ---------------------\n'\n '\n'\n 'Profile: alpha_profile\n'\n '------------- ---------------------\n'\n 'dynamic_th 0\n'\n 'pool ingress_lossless_pool\n'\n 'headroom_type dynamic\n'\n 'size 0\n'\n '------------- ---------------------\n'\n '\n'\n 'Profile: egress_lossless_profile\n'\n '---------- --------------------\n'\n 'dynamic_th 0\n'\n 'pool egress_lossless_pool\n'\n 'size 0\n'\n '---------- --------------------\n'\n '\n'\n 'Profile: egress_lossy_profile\n'\n '---------- -----------------\n'\n 'dynamic_th 0\n'
Check failure on line 1 in test_muxcable_status_config
azure-pipelines / Azure.sonic-utilities
test_muxcable_status_config
AssertionError: assert ('SWITCH_NAME PEER_TOR\n'\n '------------- ----------\n'\n 'sonic-switch 10.2.2.2\n'\n 'port state ipv4 ipv6 cable_type soc_ipv4 '\n 'soc_ipv6\n'\n '---------- ------- ----------- ------------ -------------- ----------- '\n '------------\n'\n 'Ethernet0 active 10.2.1.1/32 e800::46/128\n'\n 'Ethernet4 auto 10.3.1.1/32 e801::46/128 '\n 'e801::47/128\n'\n 'Ethernet8 active 10.4.1.1/32 e802::46/128\n'\n 'Ethernet12 active 10.4.1.1/32 e802::46/128\n'\n 'Ethernet16 standby 10.1.1.1/32 fc00::75/128 active-standby\n'\n 'Ethernet28 manual 10.1.1.1/32 fc00::75/128\n'\n 'Ethernet32 auto 10.1.1.1/32 fc00::75/128 active-active 10.1.1.2/32 '\n 'fc00::76/128\n') == ('SWITCH_NAME PEER_TOR\n'\n '------------- ----------\n'\n 'sonic-switch 10.2.2.2\n'\n 'port state ipv4 ipv6 cable_type soc_ipv4 '\n 'soc_ipv6\n'\n '---------- ------- -------- -------- -------------- ---------- '\n '----------\n'\n 'Ethernet0 active 10.2.1.1 e800::46\n'\n 'Ethernet4 auto 10.3.1.1 e801::46 '\n 'e801::47\n'\n 'Ethernet8 active 10.4.1.1 e802::46\n'\n 'Ethernet12 active 10.4.1.1 e802::46\n'\n 'Ethernet16 standby 10.1.1.1 fc00::75 active-standby\n'\n 'Ethernet28 manual 10.1.1.1 fc00::75\n'\n 'Ethernet32 auto 10.1.1.1 fc00::75 active-active 10.1.1.2 '\n 'fc00::76\n') SWITCH_NAME PEER_TOR ------------- ---------- sonic-switch 10.2.2.2 - port state ipv4 ipv6 cable_type soc_ipv4 soc_ipv6 + port state ipv4 ipv6 cable_type soc_ipv4 soc_ipv6 ? +++ ++++ + - ---------- ------- -------- -------- -------------- ---------- ---------- ? ^^ + ---------- ------- ----------- ------------ -------------- ----------- ------------ ? +++ ++++ ^^^^^ - Ethernet0 active 10.2.1.1 e800::46 + Ethernet0 active 10.2.1.1/32 e800::46/128 ? +++ ++++ - Ethernet4 auto 10.3.1.1 e801::46 e801::47 + Ethernet4 auto 10.3.1.1/32 e801::46/128 e801::47/128 ? +++ +++++ ++++ - Ethernet8 active 10.4.1.1 e802::46 + Ethernet8 active 10.4.1.1/32 e802::46/128 ? +++ ++++ - Ethernet12 active 10.4.1.1 e802::46 + Ethernet12 active 10.4.1.1/32 e802::46/128 ? +++ ++++ - Ethernet16 standby 10.1.1.1 fc00::75 active-standby + Ethernet16 standby 10.1.1.1/32 fc00::75/128 active-standby ? +++ ++++ - Ethernet28 manual 10.1.1.1 fc00::75 + Ethernet28 manual 10.1.1.1/32 fc00::75/128 ? +++ ++++ - Ethernet32 auto 10.1.1.1 fc00::75 active-active 10.1.1.2 fc00::76 ? ^^ + Ethernet32 auto 10.1.1.1/32 fc00::75/128 active-active 10.1.1.2/32 fc00::76/128 ? +++ ++++ ^^^ ++++
Raw output
self = <tests.muxcable_test.TestMuxcable object at 0x7f011ddb2ca0>
def test_muxcable_status_config(self):
runner = CliRunner()
db = Db()
result = runner.invoke(show.cli.commands["muxcable"].commands["config"], obj=db)
assert result.exit_code == 0
> assert result.output == tabular_data_config_output_expected
E AssertionError: assert ('SWITCH_NAME PEER_TOR\n'\n '------------- ----------\n'\n 'sonic-switch 10.2.2.2\n'\n 'port state ipv4 ipv6 cable_type soc_ipv4 '\n 'soc_ipv6\n'\n '---------- ------- ----------- ------------ -------------- ----------- '\n '------------\n'\n 'Ethernet0 active 10.2.1.1/32 e800::46/128\n'\n 'Ethernet4 auto 10.3.1.1/32 e801::46/128 '\n 'e801::47/128\n'\n 'Ethernet8 active 10.4.1.1/32 e802::46/128\n'\n 'Ethernet12 active 10.4.1.1/32 e802::46/128\n'\n 'Ethernet16 standby 10.1.1.1/32 fc00::75/128 active-standby\n'\n 'Ethernet28 manual 10.1.1.1/32 fc00::75/128\n'\n 'Ethernet32 auto 10.1.1.1/32 fc00::75/128 active-active 10.1.1.2/32 '\n 'fc00::76/128\n') == ('SWITCH_NAME PEER_TOR\n'\n '------------- ----------\n'\n 'sonic-switch 10.2.2.2\n'\n 'port state ipv4 ipv6 cable_type soc_ipv4 '\n 'soc_ipv6\n'\n '---------- ------- -------- -------- -------------- ---------- '\n '----------\n'\n 'Ethernet0 active 10.2.1.1 e800::46\n'\n 'Ethernet4 auto 10.3.1.1 e801::46 '\n 'e801::47\n'\n 'Ethernet8 active 10.4.1.1 e802::46\n'\n 'Ethernet12 active 10.4.1.1 e802::46\n'\n 'Ethernet16 standby 10.1.1.1 fc00::75 active-standby\n'\n 'Ethernet28 manual 10.1.1.1 fc00::75\n'\n 'Ethernet32 auto 10.1.1.1 fc00::75 active-active 10.1.1.2 '\n 'fc00::76\n')
E SWITCH_NAME PEER_TOR
E ------------- ----------
E sonic-switch 10.2.2.2
E - port state ipv4 ipv6 cable_type soc_ipv4 soc_ipv6
E + port state ipv4 ipv6 cable_type soc_ipv4 soc_ipv6
E ? +++ ++++ +
E - ---------- ------- -------- -------- -------------- ---------- ----------
E ? ^^
E + ---------- ------- ----------- ------------ -------------- ----------- ------------
E ? +++ ++++ ^^^^^
E - Ethernet0 active 10.2.1.1 e800::46
E + Ethernet0 active 10.2.1.1/32 e800::46/128
E ? +++ ++++
E - Ethernet4 auto 10.3.1.1 e801::46 e801::47
E + Ethernet4 auto 10.3.1.1/32 e801::46/128 e801::47/128
E ? +++ +++++ ++++
E - Ethernet8 active 10.4.1.1 e802::46
E + Ethernet8 active 10.4.1.1/32 e802::46/128
E ? +++ ++++
E - Ethernet12 active 10.4.1.1 e802::46
E + Ethernet12 active 10.4.1.1/32 e802::46/128
E ? +++ ++++
E - Ethernet16 standby 10.1.1.1 fc00::75 active-standby
E + Ethernet16 standby 10.1.1.1/32 fc00::75/128 active-standby
E ? +++ ++++
E - Ethernet28 manual 10.1.1.1 fc00::75
E + Ethernet28 manual 10.1.1.1/32 fc00::75/128
E ? +++ ++++
E - Ethernet32 auto 10.1.1.1 fc00::75 active-active 10.1.1.2 fc00::76
E ? ^^
E + Ethernet32 auto 10.1
Check failure on line 1 in test_muxcable_status_config_alias
azure-pipelines / Azure.sonic-utilities
test_muxcable_status_config_alias
AssertionError: assert ('SWITCH_NAME PEER_TOR\n'\n '------------- ----------\n'\n 'sonic-switch 10.2.2.2\n'\n 'port state ipv4 ipv6 cable_type soc_ipv4 '\n 'soc_ipv6\n'\n '------ ------- ----------- ------------ -------------- ----------- '\n '------------\n'\n 'etp1 active 10.2.1.1/32 e800::46/128\n'\n 'etp2 auto 10.3.1.1/32 e801::46/128 '\n 'e801::47/128\n'\n 'etp3 active 10.4.1.1/32 e802::46/128\n'\n 'etp4 active 10.4.1.1/32 e802::46/128\n'\n 'etp5 standby 10.1.1.1/32 fc00::75/128 active-standby\n'\n 'etp8 manual 10.1.1.1/32 fc00::75/128\n'\n 'etp9 auto 10.1.1.1/32 fc00::75/128 active-active 10.1.1.2/32 '\n 'fc00::76/128\n') == ('SWITCH_NAME PEER_TOR\n'\n '------------- ----------\n'\n 'sonic-switch 10.2.2.2\n'\n 'port state ipv4 ipv6 cable_type soc_ipv4 soc_ipv6\n'\n '------ ------- -------- -------- -------------- ---------- ----------\n'\n 'etp1 active 10.2.1.1 e800::46\n'\n 'etp2 auto 10.3.1.1 e801::46 e801::47\n'\n 'etp3 active 10.4.1.1 e802::46\n'\n 'etp4 active 10.4.1.1 e802::46\n'\n 'etp5 standby 10.1.1.1 fc00::75 active-standby\n'\n 'etp8 manual 10.1.1.1 fc00::75\n'\n 'etp9 auto 10.1.1.1 fc00::75 active-active 10.1.1.2 fc00::76\n') SWITCH_NAME PEER_TOR ------------- ---------- sonic-switch 10.2.2.2 - port state ipv4 ipv6 cable_type soc_ipv4 soc_ipv6 + port state ipv4 ipv6 cable_type soc_ipv4 soc_ipv6 ? +++ ++++ + - ------ ------- -------- -------- -------------- ---------- ---------- ? ^^ + ------ ------- ----------- ------------ -------------- ----------- ------------ ? +++ ++++ ^^^^^ - etp1 active 10.2.1.1 e800::46 + etp1 active 10.2.1.1/32 e800::46/128 ? +++ ++++ - etp2 auto 10.3.1.1 e801::46 e801::47 + etp2 auto 10.3.1.1/32 e801::46/128 e801::47/128 ? +++ +++++ ++++ - etp3 active 10.4.1.1 e802::46 + etp3 active 10.4.1.1/32 e802::46/128 ? +++ ++++ - etp4 active 10.4.1.1 e802::46 + etp4 active 10.4.1.1/32 e802::46/128 ? +++ ++++ - etp5 standby 10.1.1.1 fc00::75 active-standby + etp5 standby 10.1.1.1/32 fc00::75/128 active-standby ? +++ ++++ - etp8 manual 10.1.1.1 fc00::75 + etp8 manual 10.1.1.1/32 fc00::75/128 ? +++ ++++ - etp9 auto 10.1.1.1 fc00::75 active-active 10.1.1.2 fc00::76 ? ^^ + etp9 auto 10.1.1.1/32 fc00::75/128 active-active 10.1.1.2/32 fc00::76/128 ? +++ ++++ ^^^ ++++
Raw output
self = <tests.muxcable_test.TestMuxcable object at 0x7f0121d5e730>
def test_muxcable_status_config_alias(self):
runner = CliRunner()
db = Db()
os.environ['SONIC_CLI_IFACE_MODE'] = "alias"
result = runner.invoke(show.cli.commands["muxcable"].commands["config"], obj=db)
os.environ['SONIC_CLI_IFACE_MODE'] = "default"
assert result.exit_code == 0
> assert result.output == tabular_data_config_output_expected_alias
E AssertionError: assert ('SWITCH_NAME PEER_TOR\n'\n '------------- ----------\n'\n 'sonic-switch 10.2.2.2\n'\n 'port state ipv4 ipv6 cable_type soc_ipv4 '\n 'soc_ipv6\n'\n '------ ------- ----------- ------------ -------------- ----------- '\n '------------\n'\n 'etp1 active 10.2.1.1/32 e800::46/128\n'\n 'etp2 auto 10.3.1.1/32 e801::46/128 '\n 'e801::47/128\n'\n 'etp3 active 10.4.1.1/32 e802::46/128\n'\n 'etp4 active 10.4.1.1/32 e802::46/128\n'\n 'etp5 standby 10.1.1.1/32 fc00::75/128 active-standby\n'\n 'etp8 manual 10.1.1.1/32 fc00::75/128\n'\n 'etp9 auto 10.1.1.1/32 fc00::75/128 active-active 10.1.1.2/32 '\n 'fc00::76/128\n') == ('SWITCH_NAME PEER_TOR\n'\n '------------- ----------\n'\n 'sonic-switch 10.2.2.2\n'\n 'port state ipv4 ipv6 cable_type soc_ipv4 soc_ipv6\n'\n '------ ------- -------- -------- -------------- ---------- ----------\n'\n 'etp1 active 10.2.1.1 e800::46\n'\n 'etp2 auto 10.3.1.1 e801::46 e801::47\n'\n 'etp3 active 10.4.1.1 e802::46\n'\n 'etp4 active 10.4.1.1 e802::46\n'\n 'etp5 standby 10.1.1.1 fc00::75 active-standby\n'\n 'etp8 manual 10.1.1.1 fc00::75\n'\n 'etp9 auto 10.1.1.1 fc00::75 active-active 10.1.1.2 fc00::76\n')
E SWITCH_NAME PEER_TOR
E ------------- ----------
E sonic-switch 10.2.2.2
E - port state ipv4 ipv6 cable_type soc_ipv4 soc_ipv6
E + port state ipv4 ipv6 cable_type soc_ipv4 soc_ipv6
E ? +++ ++++ +
E - ------ ------- -------- -------- -------------- ---------- ----------
E ? ^^
E + ------ ------- ----------- ------------ -------------- ----------- ------------
E ? +++ ++++ ^^^^^
E - etp1 active 10.2.1.1 e800::46
E + etp1 active 10.2.1.1/32 e800::46/128
E ? +++ ++++
E - etp2 auto 10.3.1.1 e801::46 e801::47
E + etp2 auto 10.3.1.1/32 e801::46/128 e801::47/128
E ? +++ +++++ ++++
E - etp3 active 10.4.1.1 e802::46
E + etp3 active 10.4.1.1/32 e802::46/128
E ? +++ ++++
E - etp4 active 10.4.1.1 e802::46
E + etp4 active 10.4.1.1/32 e802::46/128
E ? +++ ++++
E - etp5 standby 10.1.1.1 fc00::75 active-standby
E + etp5 standby 10.1.1.1/32 fc00::75/128 active-standby
E ? +++ ++++
E - etp8 manual 10.1.1.1 fc00::75
E + etp8 manual 10.1.1.1/32 fc00::75/128
E ? +++ ++++
E - etp9 auto 10.1.1.1 fc00::75 active-active 10.1.1.2 fc00::76
E ? ^^
E + etp9 auto 10.1.1.1/32 fc00::75/128 active-active 10.1.1.2/32 fc00::76/128
E ?