26 lines
682 B
Rust
26 lines
682 B
Rust
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();
|
|
} |