diff --git a/libs/apkverify/src/ziputil.rs b/libs/apkverify/src/ziputil.rs
index f18a38a..ebb66e0 100644
--- a/libs/apkverify/src/ziputil.rs
+++ b/libs/apkverify/src/ziputil.rs
@@ -27,7 +27,7 @@
 const EOCD_MAGIC: u32 = 0x06054b50;
 const ZIP64_MARK: u32 = 0xffffffff;
 
-#[derive(Debug, PartialEq)]
+#[derive(Debug, PartialEq, Eq)]
 pub struct ZipSections {
     pub central_directory_offset: u32,
     pub central_directory_size: u32,
diff --git a/libs/idsig/src/apksigv4.rs b/libs/idsig/src/apksigv4.rs
index db8a8c6..f8ca184 100644
--- a/libs/idsig/src/apksigv4.rs
+++ b/libs/idsig/src/apksigv4.rs
@@ -75,7 +75,7 @@
 }
 
 /// Version of the idsig file format
-#[derive(Debug, PartialEq, FromPrimitive, ToPrimitive)]
+#[derive(Debug, PartialEq, Eq, FromPrimitive, ToPrimitive)]
 #[repr(u32)]
 pub enum Version {
     /// Version 2, the only supported version.
@@ -95,7 +95,7 @@
 }
 
 /// Hash algorithm that can be used for idsig file.
-#[derive(Debug, PartialEq, FromPrimitive, ToPrimitive)]
+#[derive(Debug, PartialEq, Eq, FromPrimitive, ToPrimitive)]
 #[repr(u32)]
 pub enum HashAlgorithm {
     /// SHA2-256
@@ -115,7 +115,7 @@
 }
 
 /// Signature algorithm that can be used for idsig file
-#[derive(Debug, PartialEq, FromPrimitive, ToPrimitive)]
+#[derive(Debug, PartialEq, Eq, FromPrimitive, ToPrimitive)]
 #[allow(non_camel_case_types)]
 #[repr(u32)]
 pub enum SignatureAlgorithmId {
diff --git a/microdroid_manager/src/instance.rs b/microdroid_manager/src/instance.rs
index 76c8b23..358d88b 100644
--- a/microdroid_manager/src/instance.rs
+++ b/microdroid_manager/src/instance.rs
@@ -285,7 +285,7 @@
     Ok(key)
 }
 
-#[derive(Debug, Serialize, Deserialize, PartialEq)]
+#[derive(Debug, Serialize, Deserialize, PartialEq, Eq)]
 pub struct MicrodroidData {
     pub salt: Vec<u8>, // Should be [u8; 64] but that isn't serializable.
     pub apk_data: ApkData,
@@ -293,7 +293,7 @@
     pub apex_data: Vec<ApexData>,
 }
 
-#[derive(Debug, Serialize, Deserialize, PartialEq)]
+#[derive(Debug, Serialize, Deserialize, PartialEq, Eq)]
 pub struct ApkData {
     pub root_hash: Box<RootHash>,
     pub pubkey: Box<[u8]>,
@@ -301,7 +301,7 @@
 
 pub type RootHash = [u8];
 
-#[derive(Debug, Serialize, Deserialize, PartialEq)]
+#[derive(Debug, Serialize, Deserialize, PartialEq, Eq)]
 pub struct ApexData {
     pub name: String,
     pub public_key: Vec<u8>,
diff --git a/tests/hostside/helper/java/com/android/microdroid/test/MicrodroidHostTestCaseBase.java b/tests/hostside/helper/java/com/android/microdroid/test/MicrodroidHostTestCaseBase.java
index 2992a43..c84513a 100644
--- a/tests/hostside/helper/java/com/android/microdroid/test/MicrodroidHostTestCaseBase.java
+++ b/tests/hostside/helper/java/com/android/microdroid/test/MicrodroidHostTestCaseBase.java
@@ -144,7 +144,7 @@
         CommandResult result = RunUtil.getDefault()
                 .runTimedCmdRetry(timeoutMs,
                         MICRODROID_COMMAND_RETRY_INTERVAL_MILLIS, attempts, cmd);
-        assertWithMessage("Command `" + cmd + "` has failed")
+        assertWithMessage("Command `" + Arrays.toString(cmd) + "` has failed")
                 .about(command_results())
                 .that(result)
                 .isSuccess();
@@ -158,7 +158,7 @@
         CommandResult result = RunUtil.getDefault()
                 .runTimedCmdRetry(timeoutMs, MICRODROID_COMMAND_RETRY_INTERVAL_MILLIS, attempts,
                         "adb", "-s", MICRODROID_SERIAL, "shell", join(cmd));
-        assertWithMessage("Command `" + cmd + "` has failed")
+        assertWithMessage("Command `" + Arrays.toString(cmd) + "` has failed")
                 .about(command_results())
                 .that(result)
                 .isSuccess();
diff --git a/zipfuse/src/inode.rs b/zipfuse/src/inode.rs
index e6c0254..5d52922 100644
--- a/zipfuse/src/inode.rs
+++ b/zipfuse/src/inode.rs
@@ -62,7 +62,7 @@
     pub kind: InodeKind,
 }
 
-#[derive(Debug, Clone, PartialEq, Copy)]
+#[derive(Debug, Clone, PartialEq, Eq, Copy)]
 pub enum InodeKind {
     Directory,
     File,
