diff options
author | Mathias Hall-Andersen <mathias@hall-andersen.dk> | 2019-10-11 12:57:24 +0200 |
---|---|---|
committer | Mathias Hall-Andersen <mathias@hall-andersen.dk> | 2019-10-11 12:57:24 +0200 |
commit | 3d6e8f08a7408a3f68b7917ae4ff4ea804c36d00 (patch) | |
tree | 379151be9a700d09db96e63313f623cc890808de /src/tests.rs | |
parent | Start porting kernel timer semantics (diff) | |
download | wireguard-rs-3d6e8f08a7408a3f68b7917ae4ff4ea804c36d00.tar.xz wireguard-rs-3d6e8f08a7408a3f68b7917ae4ff4ea804c36d00.zip |
Enable adding TUN reader to WG interface
Diffstat (limited to 'src/tests.rs')
-rw-r--r-- | src/tests.rs | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/tests.rs b/src/tests.rs new file mode 100644 index 0000000..8e15037 --- /dev/null +++ b/src/tests.rs @@ -0,0 +1,46 @@ +use crate::types::tun::Tun; +use crate::types::{bind, dummy, tun}; +use crate::wireguard::Wireguard; + +use std::thread; +use std::time::Duration; + +fn init() { + let _ = env_logger::builder().is_test(true).try_init(); +} + +/* Create and configure two matching pure instances of WireGuard + * + */ +#[test] +fn test_pure_wireguard() { + init(); + + // create WG instances for fake TUN devices + + let (fake1, tun_reader1, tun_writer1, mtu1) = dummy::TunTest::create(1500, true); + let wg1: Wireguard<dummy::TunTest, dummy::PairBind> = + Wireguard::new(vec![tun_reader1], tun_writer1, mtu1); + + let (fake2, tun_reader2, tun_writer2, mtu2) = dummy::TunTest::create(1500, true); + let wg2: Wireguard<dummy::TunTest, dummy::PairBind> = + Wireguard::new(vec![tun_reader2], tun_writer2, mtu2); + + // create pair bind to connect the interfaces "over the internet" + + let ((bind_reader1, bind_writer1), (bind_reader2, bind_writer2)) = dummy::PairBind::pair(); + + wg1.set_writer(bind_writer1); + wg2.set_writer(bind_writer2); + + wg1.add_reader(bind_reader1); + wg2.add_reader(bind_reader2); + + // generate (public, pivate) key pairs + + // configure cryptkey router + + // create IP packets + + thread::sleep(Duration::from_millis(500)); +} |