Index: b/src/lib.rs
===================================================================
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -508,15 +508,14 @@
 
 #[cfg(test)]
 mod tests {
-    use std::path::PathBuf;
-
     use super::*;
 
     #[cfg(unix)]
+    #[ignore]
     #[test]
     fn generate() {
         // FIXME: Use "target/<arch>" dirs for temporary files.
-        let mut dir = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
+        let mut dir = std::env::temp_dir();
         dir.push("target");
         dir.push("x86_64-pc-windows-gnu");
         dir.push("python3-dll");
@@ -543,9 +542,10 @@
     }
 
     #[cfg(unix)]
+    #[ignore]
     #[test]
     fn generate_gnu32() {
-        let mut dir = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
+        let mut dir = std::env::temp_dir();
         dir.push("target");
         dir.push("i686-pc-windows-gnu");
         dir.push("python3-dll");
@@ -555,7 +555,7 @@
 
     #[test]
     fn generate_msvc() {
-        let mut dir = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
+        let mut dir = std::env::temp_dir();
         dir.push("target");
         dir.push("x86_64-pc-windows-msvc");
         dir.push("python3-dll");
@@ -583,7 +583,7 @@
 
     #[test]
     fn generate_msvc32() {
-        let mut dir = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
+        let mut dir = std::env::temp_dir();
         dir.push("target");
         dir.push("i686-pc-windows-msvc");
         dir.push("python3-dll");
@@ -593,7 +593,7 @@
 
     #[test]
     fn generate_msvc_arm64() {
-        let mut dir = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
+        let mut dir = std::env::temp_dir();
         dir.push("target");
         dir.push("aarch64-pc-windows-msvc");
         dir.push("python3-dll");
