mirror of
https://github.com/rust-embedded/rust-raspberrypi-OS-tutorials.git
synced 2024-11-15 18:14:02 +00:00
49 lines
1.3 KiB
Ruby
49 lines
1.3 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
# SPDX-License-Identifier: MIT OR Apache-2.0
|
|
#
|
|
# Copyright (c) 2019-2022 Andre Richter <andre.o.richter@gmail.com>
|
|
|
|
require 'console_io_test'
|
|
|
|
# Verify sending and receiving works as expected.
|
|
class TxRxHandshakeTest < SubtestBase
|
|
def name
|
|
'Transmit and Receive handshake'
|
|
end
|
|
|
|
def run(qemu_out, qemu_in)
|
|
qemu_in.write_nonblock('ABC')
|
|
expect_or_raise(qemu_out, 'OK1234')
|
|
end
|
|
end
|
|
|
|
# Check for correct TX statistics implementation. Depends on test 1 being run first.
|
|
class TxStatisticsTest < SubtestBase
|
|
def name
|
|
'Transmit statistics'
|
|
end
|
|
|
|
def run(qemu_out, _qemu_in)
|
|
expect_or_raise(qemu_out, '6')
|
|
end
|
|
end
|
|
|
|
# Check for correct RX statistics implementation. Depends on test 1 being run first.
|
|
class RxStatisticsTest < SubtestBase
|
|
def name
|
|
'Receive statistics'
|
|
end
|
|
|
|
def run(qemu_out, _qemu_in)
|
|
expect_or_raise(qemu_out, '3')
|
|
end
|
|
end
|
|
|
|
##--------------------------------------------------------------------------------------------------
|
|
## Test registration
|
|
##--------------------------------------------------------------------------------------------------
|
|
def subtest_collection
|
|
[TxRxHandshakeTest.new, TxStatisticsTest.new, RxStatisticsTest.new]
|
|
end
|