Skip to content

tests/pkg_libschc: Failing test_reassemble_success_ack_always #19445

@MrKevinWeiss

Description

@MrKevinWeiss

Description

Some of the test cases in tests/pkg_libschc seem to be failing

Steps to reproduce the issue

BOARD=nucleo-g474re make flash test -C tests/pkg_libschc

Expected results

...pass

Actual results

first run with nucleo-g474re
====================================================================================================================================== FAILURES ======================================================================================================================================
__________________________________________________________________________________________________________________ TestSelfTest.test_reassemble_success_ack_always ___________________________________________________________________________________________________________________

self = <01-run.TestSelfTest testMethod=test_reassemble_success_ack_always>

    def test_reassemble_success_ack_always(self):
        self.input(
            b"\x17\x66\x00\x00\x00\x00\x00\xc1\x14\x0f\xe8\x00\x00\x00\x00\x00\x00\x00"
            b"\x00\x00\x00\x00\x00\x00\x00"
        )
        self.spawn.sendline("reassemble init")
        self.spawn.sendline("reassemble 1 100")
        self.input_reset()
        self.input(
            b"\x17\x51\xfe\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02"
            b"\x1f\x41\x1f\x42\x00\x0c\x84"
        )
        self.spawn.sendline("reassemble 1 100")
        self.input_reset()
>       self.input(b"\x17\x73\x14\xc8\x77\xf4\xe4\x00\x00\x00\x00")

tests/01-run.py:657: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/01-run.py:42: in input
    self.expect_od_dump_of(input_hex[:self.MAX])
tests/01-run.py:64: in expect_od_dump_of
    self.spawn.expect_exact("{:08x}{}".format(i * 16, od_bytes))
/home/weiss/.local/lib/python3.8/site-packages/pexpect/spawnbase.py:421: in expect_exact
    return exp.expect_loop(timeout)
/home/weiss/.local/lib/python3.8/site-packages/pexpect/expect.py:181: in expect_loop
    return self.timeout(e)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pexpect.expect.Expecter object at 0x7fa3673ffa00>, err = TIMEOUT('Timeout exceeded.')

    def timeout(self, err=None):
        spawn = self.spawn
    
        spawn.before = spawn._before.getvalue()
        spawn.after = TIMEOUT
        index = self.searcher.timeout_index
        if index >= 0:
            spawn.match = TIMEOUT
            spawn.match_index = index
            return index
        else:
            spawn.match = None
            spawn.match_index = None
            msg = str(spawn)
            msg += '\nsearcher: %s' % self.searcher
            if err is not None:
                msg = str(err) + '\n' + msg
    
            exc = TIMEOUT(msg)
            exc.__cause__ = None    # in Python 3.x we can use "raise exc from None"
>           raise exc
E           pexpect.exceptions.TIMEOUT: Timeout exceeded.
E           <pexpect.pty_spawn.spawn object at 0x7fa3673ffb80>
E           command: /usr/bin/make
E           args: [b'/usr/bin/make', b'cleanterm']
E           buffer (last 100 chars): '00  17  73  14  C8  7F  4E  40  00\r\n\r\n> '
E           before (last 100 chars): '\r\n00000000  17  73  14  C8  7F  4E  40  00\r\n\r\n> '
E           after: <class 'pexpect.exceptions.TIMEOUT'>
E           match: None
E           match_index: None
E           exitstatus: None
E           flag_eof: False
E           pid: 1902253
E           child_fd: 13
E           closed: False
E           timeout: 10
E           delimiter: <class 'pexpect.exceptions.EOF'>
E           logfile: None
E           logfile_read: None
E           logfile_send: None
E           maxread: 2000
E           ignorecase: False
E           searchwindowsize: None
E           delaybeforesend: 0.05
E           delayafterclose: 0.1
E           delayafterterminate: 0.1
E           searcher: searcher_string:
E               0: '00000000  17  73  14  C8  77  F4  E4  00'

/home/weiss/.local/lib/python3.8/site-packages/pexpect/expect.py:144: TIMEOUT
============================================================================================================================== short test summary info ===============================================================================================================================
FAILED tests/01-run.py::TestSelfTest::test_reassemble_success_ack_always - pexpect.exceptions.TIMEOUT: Timeout exceeded.
second run
__________________________________________________________________________________________________________________ TestSelfTest.test_reassemble_success_ack_always ___________________________________________________________________________________________________________________

self = <01-run.TestSelfTest testMethod=test_reassemble_success_ack_always>

    def test_reassemble_success_ack_always(self):
        self.input(
            b"\x17\x66\x00\x00\x00\x00\x00\xc1\x14\x0f\xe8\x00\x00\x00\x00\x00\x00\x00"
            b"\x00\x00\x00\x00\x00\x00\x00"
        )
        self.spawn.sendline("reassemble init")
        self.spawn.sendline("reassemble 1 100")
        self.input_reset()
        self.input(
            b"\x17\x51\xfe\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02"
            b"\x1f\x41\x1f\x42\x00\x0c\x84"
        )
        self.spawn.sendline("reassemble 1 100")
        self.input_reset()
>       self.input(b"\x17\x73\x14\xc8\x77\xf4\xe4\x00\x00\x00\x00")

tests/01-run.py:657: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/01-run.py:42: in input
    self.expect_od_dump_of(input_hex[:self.MAX])
tests/01-run.py:64: in expect_od_dump_of
    self.spawn.expect_exact("{:08x}{}".format(i * 16, od_bytes))
/home/weiss/.local/lib/python3.8/site-packages/pexpect/spawnbase.py:421: in expect_exact
    return exp.expect_loop(timeout)
/home/weiss/.local/lib/python3.8/site-packages/pexpect/expect.py:181: in expect_loop
    return self.timeout(e)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pexpect.expect.Expecter object at 0x7f165391f2b0>, err = TIMEOUT('Timeout exceeded.')

    def timeout(self, err=None):
        spawn = self.spawn
    
        spawn.before = spawn._before.getvalue()
        spawn.after = TIMEOUT
        index = self.searcher.timeout_index
        if index >= 0:
            spawn.match = TIMEOUT
            spawn.match_index = index
            return index
        else:
            spawn.match = None
            spawn.match_index = None
            msg = str(spawn)
            msg += '\nsearcher: %s' % self.searcher
            if err is not None:
                msg = str(err) + '\n' + msg
    
            exc = TIMEOUT(msg)
            exc.__cause__ = None    # in Python 3.x we can use "raise exc from None"
>           raise exc
E           pexpect.exceptions.TIMEOUT: Timeout exceeded.
E           <pexpect.pty_spawn.spawn object at 0x7f165391f430>
E           command: /usr/bin/make
E           args: [b'/usr/bin/make', b'cleanterm']
E           buffer (last 100 chars): '00  17  73  14  C8  7F  4E  40  00\r\n\r\n> '
E           before (last 100 chars): '\r\n00000000  17  73  14  C8  7F  4E  40  00\r\n\r\n> '
E           after: <class 'pexpect.exceptions.TIMEOUT'>
E           match: None
E           match_index: None
E           exitstatus: None
E           flag_eof: False
E           pid: 1913359
E           child_fd: 13
E           closed: False
E           timeout: 10
E           delimiter: <class 'pexpect.exceptions.EOF'>
E           logfile: None
E           logfile_read: None
E           logfile_send: None
E           maxread: 2000
E           ignorecase: False
E           searchwindowsize: None
E           delaybeforesend: 0.05
E           delayafterclose: 0.1
E           delayafterterminate: 0.1
E           searcher: searcher_string:
E               0: '00000000  17  73  14  C8  77  F4  E4  00'

/home/weiss/.local/lib/python3.8/site-packages/pexpect/expect.py:144: TIMEOUT
with dumb sleeps
__________________________________________________________________________________________________________________ TestSelfTest.test_reassemble_success_ack_always ___________________________________________________________________________________________________________________

self = <01-run.TestSelfTest testMethod=test_reassemble_success_ack_always>

    def test_reassemble_success_ack_always(self):
        self.input(
            b"\x17\x66\x00\x00\x00\x00\x00\xc1\x14\x0f\xe8\x00\x00\x00\x00\x00\x00\x00"
            b"\x00\x00\x00\x00\x00\x00\x00"
        )
    
        # input add 17660000000000c1140fe80000000000000000000000000000
        self.spawn.sendline("reassemble init")
        self.spawn.sendline("reassemble 1 100")
        self.input_reset()
        self.input(
            b"\x17\x51\xfe\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02"
            b"\x1f\x41\x1f\x42\x00\x0c\x84"
        )
        # input add 1751fe8000000000000000000000000000021f411f42000c84
        self.spawn.sendline("reassemble 1 100")
        from time import sleep
        sleep(0.5)
        self.input_reset()
        from time import sleep
        sleep(0.5)
        self.input(b"\x17\x73\x14\xc8\x77\xf4\xe4\x00\x00\x00\x00")
        # input add 177314c877f4e400000000
        sleep(0.5)
        self.spawn.sendline("reassemble 1 100")
        sleep(0.5)
        self.spawn.expect_exact("Packet sent on dev 0x1")
        sleep(0.5)
>       self.expect_od_dump_of(b"\x17\x20")

tests/01-run.py:679: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/01-run.py:72: in expect_od_dump_of
    self.spawn.expect_exact("{:08x}{}".format(i * 16, od_bytes), timeout=2)
/home/weiss/.local/lib/python3.8/site-packages/pexpect/spawnbase.py:421: in expect_exact
    return exp.expect_loop(timeout)
/home/weiss/.local/lib/python3.8/site-packages/pexpect/expect.py:181: in expect_loop
    return self.timeout(e)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <pexpect.expect.Expecter object at 0x7f65ed55efd0>, err = TIMEOUT('Timeout exceeded.')

    def timeout(self, err=None):
        spawn = self.spawn
    
        spawn.before = spawn._before.getvalue()
        spawn.after = TIMEOUT
        index = self.searcher.timeout_index
        if index >= 0:
            spawn.match = TIMEOUT
            spawn.match_index = index
            return index
        else:
            spawn.match = None
            spawn.match_index = None
            msg = str(spawn)
            msg += '\nsearcher: %s' % self.searcher
            if err is not None:
                msg = str(err) + '\n' + msg
    
            exc = TIMEOUT(msg)
            exc.__cause__ = None    # in Python 3.x we can use "raise exc from None"
>           raise exc
E           pexpect.exceptions.TIMEOUT: Timeout exceeded.
E           <pexpect.pty_spawn.spawn object at 0x7f65ed55ecd0>
E           command: /usr/bin/make
E           args: [b'/usr/bin/make', b'cleanterm']
E           buffer (last 100 chars): '40  00  00  00\r\n'
E           before (last 100 chars): '00000020  00  00  00  00  00  00  00  02  1F  41  1F  42  00  0C  84  4E\r\n00000030  40  00  00  00\r\n'
E           after: <class 'pexpect.exceptions.TIMEOUT'>
E           match: None
E           match_index: None
E           exitstatus: None
E           flag_eof: False
E           pid: 1919218
E           child_fd: 13
E           closed: False
E           timeout: 10
E           delimiter: <class 'pexpect.exceptions.EOF'>
E           logfile: None
E           logfile_read: None
E           logfile_send: None
E           maxread: 2000
E           ignorecase: False
E           searchwindowsize: None
E           delaybeforesend: 0.05
E           delayafterclose: 0.1
E           delayafterterminate: 0.1
E           searcher: searcher_string:
E               0: '00000000  17  20'

/home/weiss/.local/lib/python3.8/site-packages/pexpect/expect.py:144: TIMEOUT

Versions

docker

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type: bugThe issue reports a bug / The PR fixes a bug (including spelling errors)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions