test/py: hush_if_test: Add tests to cover octal/hex values

Extend test suite to cover also automatic octal/hex converstions which
haven't been implemented in past.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
This commit is contained in:
Michal Simek 2019-10-10 13:00:38 +02:00
parent 40128bbd68
commit 9c6bf1715f

View File

@ -7,6 +7,10 @@ import os
import os.path
import pytest
# TODO: These tests should be converted to a C test.
# For more information please take a look at the thread
# https://lists.denx.de/pipermail/u-boot/2019-October/388732.html
pytestmark = pytest.mark.buildconfigspec('hush_parser')
# The list of "if test" conditions to test.
@ -52,6 +56,33 @@ subtests = (
('test 123 -ge 123', True),
('test 123 -ge 456', False),
# Octal tests
('test 010 -eq 010', True),
('test 010 -eq 011', False),
('test 010 -ne 011', True),
('test 010 -ne 010', False),
# Hexadecimal tests
('test 0x2000000 -gt 0x2000001', False),
('test 0x2000000 -gt 0x2000000', False),
('test 0x2000000 -gt 0x1ffffff', True),
# Mixed tests
('test 010 -eq 10', False),
('test 010 -ne 10', True),
('test 0xa -eq 10', True),
('test 0xa -eq 012', True),
('test 2000000 -gt 0x1ffffff', False),
('test 0x2000000 -gt 1ffffff', True),
('test 0x2000000 -lt 1ffffff', False),
('test 0x2000000 -eq 2000000', False),
('test 0x2000000 -ne 2000000', True),
('test -z ""', True),
('test -z "aaa"', False),