Executing test_rx ======== testing 8-N-1 (no data) test_rx_exec() @ 0: flush the Rx buffer test_rx_exec() @ 6: flush the Rx buffer test_rx_exec() @ 12: flush the Rx buffer ======== testing 8-N-1 (fill up flush) suart_rx_cb(flags=00): de ad be ef suart_rx_cb(flags=00): 00 aa 55 ff test_rx_exec() @ 101: flush the Rx buffer ======== testing 8-N-1 (HELLO) test_rx_exec() @ 18: flush the Rx buffer suart_rx_cb(flags=00): 48 test_rx_exec() @ 31: flush the Rx buffer suart_rx_cb(flags=00): 45 test_rx_exec() @ 57: flush the Rx buffer suart_rx_cb(flags=00): 4c test_rx_exec() @ 70: flush the Rx buffer suart_rx_cb(flags=00): 4c test_rx_exec() @ 96: flush the Rx buffer suart_rx_cb(flags=00): 4f ======== testing 8-N-1 (framing errors) suart_rx_cb(flags=01): 00 suart_rx_cb(flags=01): aa test_rx_exec() @ 41: flush the Rx buffer suart_rx_cb(flags=00): ff ======== testing 8-N-2 (HELLO) test_rx_exec() @ 20: flush the Rx buffer test_rx_exec() @ 22: flush the Rx buffer suart_rx_cb(flags=00): 48 test_rx_exec() @ 35: flush the Rx buffer test_rx_exec() @ 37: flush the Rx buffer suart_rx_cb(flags=00): 45 test_rx_exec() @ 65: flush the Rx buffer test_rx_exec() @ 67: flush the Rx buffer suart_rx_cb(flags=00): 4c test_rx_exec() @ 80: flush the Rx buffer test_rx_exec() @ 82: flush the Rx buffer suart_rx_cb(flags=00): 4c test_rx_exec() @ 110: flush the Rx buffer test_rx_exec() @ 112: flush the Rx buffer suart_rx_cb(flags=00): 4f ======== testing 8-N-2 (framing errors) suart_rx_cb(flags=01): 00 suart_rx_cb(flags=01): aa suart_rx_cb(flags=01): 55 test_rx_exec() @ 57: flush the Rx buffer suart_rx_cb(flags=00): ff ======== testing 8-E-1 (invalid parity) suart_rx_cb(flags=02): 00 suart_rx_cb(flags=02): 01 suart_rx_cb(flags=02): ff test_rx_exec() @ 49: flush the Rx buffer ======== testing 8-E-1 (valid parity) test_rx_exec() @ 63: flush the Rx buffer suart_rx_cb(flags=00): 00 ff aa 55 test_rx_exec() @ 120: flush the Rx buffer suart_rx_cb(flags=00): 80 e0 f8 fe ======== testing 8-O-1 (invalid parity) suart_rx_cb(flags=02): 00 suart_rx_cb(flags=02): 01 suart_rx_cb(flags=02): ff test_rx_exec() @ 42: flush the Rx buffer ======== testing 8-O-1 (valid parity) test_rx_exec() @ 63: flush the Rx buffer suart_rx_cb(flags=00): 00 ff aa 55 test_rx_exec() @ 120: flush the Rx buffer suart_rx_cb(flags=00): 80 e0 f8 fe Executing test_rx_flush calling osmo_soft_uart_flush_rx() while Rx disabled enabling the receiver calling osmo_soft_uart_flush_rx() while Rx enabled, but no data testing corner case: manual flushing during a parity error (8-E-1) test_rx_exec() @ 47: flush the Rx buffer suart_rx_cb(flags=02): aa 55 suart_rx_cb(flags=02): ff Executing test_tx_rx ======== testing 8-N-1 suart_tx_cb(len=4/4): de ad be ef suart_rx_cb(flags=00): de ad be ef test_tx_rx_exec_one(n_bits_total=40): 0011110111 0101101011 0011111011 0111101111 suart_tx_cb(len=4/4): 00 aa 55 ff suart_rx_cb(flags=00): 00 aa 55 ff test_tx_rx_exec_one(n_bits_total=40): 0000000001 0010101011 0101010101 0111111111 suart_tx_cb(len=4/4): 01 02 04 08 suart_rx_cb(flags=00): 01 02 04 08 test_tx_rx_exec_one(n_bits_total=40): 0100000001 0010000001 0001000001 0000100001 suart_tx_cb(len=4/4): 10 20 40 80 suart_rx_cb(flags=00): 10 20 40 80 test_tx_rx_exec_one(n_bits_total=40): 0000010001 0000001001 0000000101 0000000011 suart_tx_cb(len=0/4): test_tx_rx_exec_one(n_bits_total=40): 1111111111 1111111111 1111111111 1111111111 ======== testing 8-N-2 suart_tx_cb(len=4/4): de ad be ef suart_rx_cb(flags=00): de ad be ef test_tx_rx_exec_one(n_bits_total=44): 00111101111 01011010111 00111110111 01111011111 suart_tx_cb(len=4/4): 00 aa 55 ff suart_rx_cb(flags=00): 00 aa 55 ff test_tx_rx_exec_one(n_bits_total=44): 00000000011 00101010111 01010101011 01111111111 suart_tx_cb(len=4/4): 01 02 04 08 suart_rx_cb(flags=00): 01 02 04 08 test_tx_rx_exec_one(n_bits_total=44): 01000000011 00100000011 00010000011 00001000011 suart_tx_cb(len=4/4): 10 20 40 80 suart_rx_cb(flags=00): 10 20 40 80 test_tx_rx_exec_one(n_bits_total=44): 00000100011 00000010011 00000001011 00000000111 suart_tx_cb(len=0/4): test_tx_rx_exec_one(n_bits_total=44): 11111111111 11111111111 11111111111 11111111111 ======== testing 8-E-1 suart_tx_cb(len=4/4): de ad be ef suart_rx_cb(flags=00): de ad be ef test_tx_rx_exec_one(n_bits_total=44): 00111101101 01011010111 00111110101 01111011111 suart_tx_cb(len=4/4): 00 aa 55 ff suart_rx_cb(flags=00): 00 aa 55 ff test_tx_rx_exec_one(n_bits_total=44): 00000000001 00101010101 01010101001 01111111101 suart_tx_cb(len=4/4): 01 02 04 08 suart_rx_cb(flags=00): 01 02 04 08 test_tx_rx_exec_one(n_bits_total=44): 01000000011 00100000011 00010000011 00001000011 suart_tx_cb(len=4/4): 10 20 40 80 suart_rx_cb(flags=00): 10 20 40 80 test_tx_rx_exec_one(n_bits_total=44): 00000100011 00000010011 00000001011 00000000111 suart_tx_cb(len=0/4): test_tx_rx_exec_one(n_bits_total=44): 11111111111 11111111111 11111111111 11111111111 ======== testing 8-O-1 suart_tx_cb(len=4/4): de ad be ef suart_rx_cb(flags=00): de ad be ef test_tx_rx_exec_one(n_bits_total=44): 00111101111 01011010101 00111110111 01111011101 suart_tx_cb(len=4/4): 00 aa 55 ff suart_rx_cb(flags=00): 00 aa 55 ff test_tx_rx_exec_one(n_bits_total=44): 00000000011 00101010111 01010101011 01111111111 suart_tx_cb(len=4/4): 01 02 04 08 suart_rx_cb(flags=00): 01 02 04 08 test_tx_rx_exec_one(n_bits_total=44): 01000000001 00100000001 00010000001 00001000001 suart_tx_cb(len=4/4): 10 20 40 80 suart_rx_cb(flags=00): 10 20 40 80 test_tx_rx_exec_one(n_bits_total=44): 00000100001 00000010001 00000001001 00000000101 suart_tx_cb(len=0/4): test_tx_rx_exec_one(n_bits_total=44): 11111111111 11111111111 11111111111 11111111111 ======== testing 8-M-1 suart_tx_cb(len=4/4): de ad be ef suart_rx_cb(flags=00): de ad be ef test_tx_rx_exec_one(n_bits_total=44): 00111101111 01011010111 00111110111 01111011111 suart_tx_cb(len=4/4): 00 aa 55 ff suart_rx_cb(flags=00): 00 aa 55 ff test_tx_rx_exec_one(n_bits_total=44): 00000000011 00101010111 01010101011 01111111111 suart_tx_cb(len=4/4): 01 02 04 08 suart_rx_cb(flags=00): 01 02 04 08 test_tx_rx_exec_one(n_bits_total=44): 01000000011 00100000011 00010000011 00001000011 suart_tx_cb(len=4/4): 10 20 40 80 suart_rx_cb(flags=00): 10 20 40 80 test_tx_rx_exec_one(n_bits_total=44): 00000100011 00000010011 00000001011 00000000111 suart_tx_cb(len=0/4): test_tx_rx_exec_one(n_bits_total=44): 11111111111 11111111111 11111111111 11111111111 ======== testing 8-S-1 suart_tx_cb(len=4/4): de ad be ef suart_rx_cb(flags=00): de ad be ef test_tx_rx_exec_one(n_bits_total=44): 00111101101 01011010101 00111110101 01111011101 suart_tx_cb(len=4/4): 00 aa 55 ff suart_rx_cb(flags=00): 00 aa 55 ff test_tx_rx_exec_one(n_bits_total=44): 00000000001 00101010101 01010101001 01111111101 suart_tx_cb(len=4/4): 01 02 04 08 suart_rx_cb(flags=00): 01 02 04 08 test_tx_rx_exec_one(n_bits_total=44): 01000000001 00100000001 00010000001 00001000001 suart_tx_cb(len=4/4): 10 20 40 80 suart_rx_cb(flags=00): 10 20 40 80 test_tx_rx_exec_one(n_bits_total=44): 00000100001 00000010001 00000001001 00000000101 suart_tx_cb(len=0/4): test_tx_rx_exec_one(n_bits_total=44): 11111111111 11111111111 11111111111 11111111111 ======== testing 6-N-1 suart_tx_cb(len=4/4): de ad be ef suart_rx_cb(flags=00): 1e 2d 3e 2f test_tx_rx_exec_one(n_bits_total=32): 00111101 01011011 00111111 01111011 suart_tx_cb(len=4/4): 00 aa 55 ff suart_rx_cb(flags=00): 00 2a 15 3f test_tx_rx_exec_one(n_bits_total=32): 00000001 00101011 01010101 01111111 suart_tx_cb(len=4/4): 01 02 04 08 suart_rx_cb(flags=00): 01 02 04 08 test_tx_rx_exec_one(n_bits_total=32): 01000001 00100001 00010001 00001001 suart_tx_cb(len=4/4): 10 20 40 80 suart_rx_cb(flags=00): 10 20 00 00 test_tx_rx_exec_one(n_bits_total=32): 00000101 00000011 00000001 00000001 suart_tx_cb(len=0/4): test_tx_rx_exec_one(n_bits_total=32): 11111111 11111111 11111111 11111111 Executing test_tx_rx_pull_n ======== pulling 32 bits (1 at a time) suart_tx_cb(len=1/1): 55 suart_tx_cb(len=1/1): 55 suart_tx_cb(len=1/1): 55 suart_tx_cb(len=1/1): 55 01010101010101010101010101010101 ======== feeding 32 bits into the receiver suart_rx_cb(flags=00): 55 55 55 Executing test_tx_rx_pull_n ======== pulling 32 bits (2 at a time) suart_tx_cb(len=1/1): 55 suart_tx_cb(len=1/1): 55 suart_tx_cb(len=1/1): 55 suart_tx_cb(len=1/1): 55 01010101010101010101010101010101 ======== feeding 32 bits into the receiver suart_rx_cb(flags=00): 55 55 55 Executing test_tx_rx_pull_n ======== pulling 32 bits (4 at a time) suart_tx_cb(len=1/1): 55 suart_tx_cb(len=1/1): 55 suart_tx_cb(len=1/1): 55 01010101011101010101011101010101 ======== feeding 32 bits into the receiver suart_rx_cb(flags=00): 55 55 Executing test_tx_rx_pull_n ======== pulling 32 bits (8 at a time) suart_tx_cb(len=1/1): 55 suart_tx_cb(len=1/1): 55 01010101011111110101010101111111 ======== feeding 32 bits into the receiver suart_rx_cb(flags=00): 55 55 Executing test_tx_pull pulling 25 bits (first time) out of the transmitter suart_tx_cb(len=2/2): 42 42 pulling 25 bits (second time) out of the transmitter suart_tx_cb(len=2/2): 42 42 Executing test_modem_status initial status=0x00000000 de-asserting DCD, which was not asserted asserting both RI and DCD, expecting the callback to be called twice suart_status_change_cb(status=0x00000008) suart_status_change_cb(status=0x0000000a) de-asserting RI, expecting the callback to be called suart_status_change_cb(status=0x00000002) resetting to 0x00, expecting the callback to be called suart_status_change_cb(status=0x00000000) Executing test_flow_control_dtr_dsr initial status=0x00000000 expecting osmo_soft_uart_tx_ubits() to yield nothing expecting osmo_soft_uart_rx_ubits() to yield nothing ======== asserting both DTR and DSR suart_status_change_cb(status=0x00000001) suart_status_change_cb(status=0x00000005) expecting osmo_soft_uart_tx_ubits() to yield 40 bits (requesting 40 bits) suart_tx_cb(len=4/4): 42 42 42 42 0010000101001000010100100001010010000101 expecting osmo_soft_uart_rx_ubits() to consume 40 bits and yield 4 chars suart_rx_cb(flags=00): 42 42 42 42 expecting osmo_soft_uart_tx_ubits() to yield 2 bits (requesting 2 bits) suart_tx_cb(len=1/1): 42 ======== de-asserting DSR suart_status_change_cb(status=0x00000001) expecting osmo_soft_uart_tx_ubits() to yield 8 bits (requesting 40 bits) expecting osmo_soft_uart_rx_ubits() to consume 40 bits and yield a pending char suart_rx_cb(flags=00): 42 Executing test_flow_control_rts_cts initial status=0x00000000 expecting osmo_soft_uart_tx_ubits() to yield nothing expecting osmo_soft_uart_rx_ubits() to yield nothing ======== asserting both CTS and RTS/RTR suart_status_change_cb(status=0x00000020) suart_status_change_cb(status=0x00000030) expecting osmo_soft_uart_tx_ubits() to yield 40 bits (requesting 40 bits) suart_tx_cb(len=4/4): 42 42 42 42 0010000101001000010100100001010010000101 expecting osmo_soft_uart_rx_ubits() to consume 40 bits and yield 4 chars suart_rx_cb(flags=00): 42 42 42 42 expecting osmo_soft_uart_tx_ubits() to yield 2 bits (requesting 2 bits) suart_tx_cb(len=1/1): 42 ======== de-asserting CTS suart_status_change_cb(status=0x00000010) expecting osmo_soft_uart_tx_ubits() to yield 8 bits (requesting 40 bits) expecting osmo_soft_uart_rx_ubits() to consume 40 bits and yield a pending char suart_rx_cb(flags=00): 42