ferrous-serialport 4.0.2

A cross-platform low-level serial port library
Documentation
//! Tests for the `SerialPort` trait.
#![cfg(unix)]

use serialport::*;
use std::time::Duration;

#[test]
fn test_listing_ports() {
    let ports = serialport::available_ports().expect("No ports found!");
    for p in ports {
        println!("{}", p.port_name);
    }
}

#[test]
fn test_opening_found_ports() {
    let ports = serialport::available_ports().unwrap();
    for p in ports {
        let _port = serialport::new(p.port_name, 9600).open();
    }
}

#[test]
fn test_opening_port() {
    let _port = serialport::new("/dev/ttyUSB0", 9600).open();
}

#[test]
fn test_opening_native_port() {
    let _port = serialport::new("/dev/ttyUSB0", 9600).open_native();
}

#[test]
fn test_configuring_ports() {
    let _port = serialport::new("/dev/ttyUSB0", 9600)
        .data_bits(DataBits::Five)
        .flow_control(FlowControl::None)
        .parity(Parity::None)
        .stop_bits(StopBits::One)
        .timeout(Duration::from_millis(1))
        .open();
}

#[test]
fn test_duplicating_port_config() {
    let port1_config = serialport::new("/dev/ttyUSB0", 9600)
        .data_bits(DataBits::Five)
        .flow_control(FlowControl::None)
        .parity(Parity::None)
        .stop_bits(StopBits::One)
        .timeout(Duration::from_millis(1));

    let port2_config = port1_config.clone().path("/dev/ttyUSB1").baud_rate(115_200);

    let _port1 = port1_config.open();
    let _port1 = port2_config.open();
}