Show More
@@ -1482,8 +1482,9 b' class TTest(Test):' | |||||
1482 |
|
1482 | |||
1483 | optional = [] |
|
1483 | optional = [] | |
1484 | for i, el in enumerate(els): |
|
1484 | for i, el in enumerate(els): | |
1485 |
|
1485 | r = False | ||
1486 |
|
|
1486 | if el: | |
|
1487 | r = self.linematch(el, lout) | |||
1487 | if isinstance(r, str): |
|
1488 | if isinstance(r, str): | |
1488 | if r == '-glob': |
|
1489 | if r == '-glob': | |
1489 | lout = ''.join(el.rsplit(' (glob)', 1)) |
|
1490 | lout = ''.join(el.rsplit(' (glob)', 1)) | |
@@ -1606,41 +1607,40 b' class TTest(Test):' | |||||
1606 | return TTest.rematch(res, l) |
|
1607 | return TTest.rematch(res, l) | |
1607 |
|
1608 | |||
1608 | def linematch(self, el, l): |
|
1609 | def linematch(self, el, l): | |
1609 | retry = False |
|
|||
1610 | if el == l: # perfect match (fast) |
|
1610 | if el == l: # perfect match (fast) | |
1611 | return True |
|
1611 | return True | |
1612 | if el: |
|
1612 | retry = False | |
1613 |
|
|
1613 | if el.endswith(b" (?)\n"): | |
1614 |
|
|
1614 | retry = "retry" | |
1615 |
|
|
1615 | el = el[:-5] + b"\n" | |
|
1616 | else: | |||
|
1617 | m = optline.match(el) | |||
|
1618 | if m: | |||
|
1619 | conditions = [c for c in m.group(2).split(b' ')] | |||
|
1620 | ||||
|
1621 | el = m.group(1) + b"\n" | |||
|
1622 | if not self._iftest(conditions): | |||
|
1623 | retry = "retry" # Not required by listed features | |||
|
1624 | ||||
|
1625 | if el.endswith(b" (esc)\n"): | |||
|
1626 | if PYTHON3: | |||
|
1627 | el = el[:-7].decode('unicode_escape') + '\n' | |||
|
1628 | el = el.encode('utf-8') | |||
1616 | else: |
|
1629 | else: | |
1617 | m = optline.match(el) |
|
1630 | el = el[:-7].decode('string-escape') + '\n' | |
1618 | if m: |
|
1631 | if el == l or os.name == 'nt' and el[:-1] + b'\r\n' == l: | |
1619 | conditions = [c for c in m.group(2).split(b' ')] |
|
1632 | return True | |
1620 |
|
1633 | if el.endswith(b" (re)\n"): | ||
1621 | el = m.group(1) + b"\n" |
|
1634 | return TTest.rematch(el[:-6], l) or retry | |
1622 | if not self._iftest(conditions): |
|
1635 | if el.endswith(b" (glob)\n"): | |
1623 | retry = "retry" # Not required by listed features |
|
1636 | # ignore '(glob)' added to l by 'replacements' | |
1624 |
|
1637 | if l.endswith(b" (glob)\n"): | ||
1625 | if el.endswith(b" (esc)\n"): |
|
1638 | l = l[:-8] + b"\n" | |
1626 | if PYTHON3: |
|
1639 | return TTest.globmatch(el[:-8], l) or retry | |
1627 | el = el[:-7].decode('unicode_escape') + '\n' |
|
1640 | if os.altsep: | |
1628 |
|
|
1641 | _l = l.replace(b'\\', b'/') | |
1629 | else: |
|
1642 | if el == _l or os.name == 'nt' and el[:-1] + b'\r\n' == _l: | |
1630 | el = el[:-7].decode('string-escape') + '\n' |
|
|||
1631 | if el == l or os.name == 'nt' and el[:-1] + b'\r\n' == l: |
|
|||
1632 | return True |
|
1643 | return True | |
1633 | if el.endswith(b" (re)\n"): |
|
|||
1634 | return TTest.rematch(el[:-6], l) or retry |
|
|||
1635 | if el.endswith(b" (glob)\n"): |
|
|||
1636 | # ignore '(glob)' added to l by 'replacements' |
|
|||
1637 | if l.endswith(b" (glob)\n"): |
|
|||
1638 | l = l[:-8] + b"\n" |
|
|||
1639 | return TTest.globmatch(el[:-8], l) or retry |
|
|||
1640 | if os.altsep: |
|
|||
1641 | _l = l.replace(b'\\', b'/') |
|
|||
1642 | if el == _l or os.name == 'nt' and el[:-1] + b'\r\n' == _l: |
|
|||
1643 | return True |
|
|||
1644 | return retry |
|
1644 | return retry | |
1645 |
|
1645 | |||
1646 | @staticmethod |
|
1646 | @staticmethod |
General Comments 0
You need to be logged in to leave comments.
Login now