message: Run integration tests in network namespaces
  Each integration test is a dedicated process. Create a network namespace
  for each test in order to avoid any test network interference.
  Fixes
diff: @@ -41,12 +41,21 @@ pub fn runtime_test(_args: TokenStream, mut item: TokenStream) -> TokenStream {
  northstar_tests::logger::init();
  log::set_max_level(log::LevelFilter::Debug);
  + // Create a new network namespace
  + nix::sched::unshare(nix::sched::CloneFlags::CLONE_NEWNET).expect("failed to craete network namespace");
  + // Up the loopback interface
  + std::process::Command::new("ip")
  + .args(["link", "set", "lo", "up"])
  + .spawn()
  + .and_then(|mut c| c.wait())
  + .expect("failed to up the loopback interface");
  +
  // Enter a new mount namespace in order to alter the mount propagation type on root.
  nix::sched::unshare(nix::sched::CloneFlags::CLONE_NEWNS).unwrap();
  // Setting the propagation type to MS_PRIVATE ensures that no mounts are left behind
  // upon an abnormal test exit.
  let flags = nix::mount::MsFlags::MS_PRIVATE | nix::mount::MsFlags::MS_REC;
  - nix::mount::mount(Some("/"), "/", Option::<&str>::None, flags, Option::<&'static [u8]>::None).unwrap();
  + nix::mount::mount(Some("/"), "/", Option::<&str>::None, flags, Option::<&'static [u8]>::None).expect("failed to remount");
  // Initialize the runtime. The part without the Tokio runtime.
  let runtime = northstar_tests::runtime::Runtime::new().expect("failed to start runtime");
  