If you print the exit code after each sub test, you will see this is marked as failed after it was marked as SKIPPED for TEST: IPv4 over vxlan4: PMTU exceptions:
TEST: ipv4: PMTU exceptions [ OK ]
EXIT CODE is 0
TEST: ipv6: PMTU exceptions [ OK ]
EXIT CODE is 0
vxlan4 not supported
TEST: IPv4 over vxlan4: PMTU exceptions [SKIP]
EXIT CODE is 1
vxlan4 not supported
TEST: IPv6 over vxlan4: PMTU exceptions [SKIP]
EXIT CODE is 1
TEST: IPv4 over vxlan6: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv6 over vxlan6: PMTU exceptions [ OK ]
EXIT CODE is 1
geneve4 not supported
TEST: IPv4 over geneve4: PMTU exceptions [SKIP]
EXIT CODE is 1
geneve4 not supported
TEST: IPv6 over geneve4: PMTU exceptions [SKIP]
EXIT CODE is 1
TEST: IPv4 over geneve6: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv6 over geneve6: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv4 over fou4: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv6 over fou4: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv4 over fou6: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv6 over fou6: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv4 over gue4: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv6 over gue4: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv4 over gue6: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv6 over gue6: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: vti6: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: vti4: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: vti4: default MTU assignment [ OK ]
EXIT CODE is 1
TEST: vti6: default MTU assignment [ OK ]
EXIT CODE is 1
TEST: vti4: MTU setting on link creation [ OK ]
EXIT CODE is 1
TEST: vti6: MTU setting on link creation [ OK ]
EXIT CODE is 1
TEST: vti6: MTU changes on link changes [ OK ]
EXIT CODE is 1
vxlan4 not supported
TEST: ipv4: cleanup of cached exceptions [SKIP]
EXIT CODE is 1
TEST: ipv6: cleanup of cached exceptions [ OK ]
EXIT CODE is 1
TEST: ipv4: list and flush cached exceptions [ OK ]
EXIT CODE is 1
TEST: ipv6: list and flush cached exceptions [ OK ]
EXIT CODE is 1
The script will exit with this exit code, thus the test will be marked as failed.
If you print the exit code after each sub test, you will see this is marked as failed after it was marked as SKIPPED for TEST: IPv4 over vxlan4: PMTU exceptions:
TEST: ipv4: PMTU exceptions [ OK ]
EXIT CODE is 0
TEST: ipv6: PMTU exceptions [ OK ]
EXIT CODE is 0
vxlan4 not supported
TEST: IPv4 over vxlan4: PMTU exceptions [SKIP]
EXIT CODE is 1
vxlan4 not supported
TEST: IPv6 over vxlan4: PMTU exceptions [SKIP]
EXIT CODE is 1
TEST: IPv4 over vxlan6: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv6 over vxlan6: PMTU exceptions [ OK ]
EXIT CODE is 1
geneve4 not supported
TEST: IPv4 over geneve4: PMTU exceptions [SKIP]
EXIT CODE is 1
geneve4 not supported
TEST: IPv6 over geneve4: PMTU exceptions [SKIP]
EXIT CODE is 1
TEST: IPv4 over geneve6: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv6 over geneve6: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv4 over fou4: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv6 over fou4: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv4 over fou6: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv6 over fou6: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv4 over gue4: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv6 over gue4: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv4 over gue6: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: IPv6 over gue6: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: vti6: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: vti4: PMTU exceptions [ OK ]
EXIT CODE is 1
TEST: vti4: default MTU assignment [ OK ]
EXIT CODE is 1
TEST: vti6: default MTU assignment [ OK ]
EXIT CODE is 1
TEST: vti4: MTU setting on link creation [ OK ]
EXIT CODE is 1
TEST: vti6: MTU setting on link creation [ OK ]
EXIT CODE is 1
TEST: vti6: MTU changes on link changes [ OK ]
EXIT CODE is 1
vxlan4 not supported
TEST: ipv4: cleanup of cached exceptions [SKIP]
EXIT CODE is 1
TEST: ipv6: cleanup of cached exceptions [ OK ]
EXIT CODE is 1
TEST: ipv4: list and flush cached exceptions [ OK ]
EXIT CODE is 1
TEST: ipv6: list and flush cached exceptions [ OK ]
EXIT CODE is 1
The script will exit with this exit code, thus the test will be marked as failed.