mod backend; use std::net::TcpListener; use std::thread; use msql_srv::*; use mysql::prelude::*; use backend::*; fn main() { let listener = TcpListener::bind("127.0.0.1:0").unwrap(); let port = listener.local_addr().unwrap().port(); let jh = thread::spawn(move || { if let Ok((s, _)) = listener.accept() { MysqlIntermediary::run_on_tcp(Backend, s).unwrap(); } }); println!("MySQL port: {}", port); let mut db = mysql::Conn::new(&format!("mysql://127.0.0.1:{}", port)).unwrap(); assert_eq!(db.ping(), true); assert_eq!(db.query_iter("SELECT a, b FROM foo").unwrap().count(), 1); drop(db); jh.join().unwrap(); }