[ffx][profile memory] Remove extraneous new line in csv output.

BUGS: fxb/116886
TEST: `fx test ffx_profile_memory_lib_test`

Change-Id: I85600c86b46b110177a7ba04a373ec1037fc149b
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/772742
Commit-Queue: Jean-François Geyelin <jif@google.com>
Reviewed-by: Guillaume Chelfi <chelfi@google.com>
diff --git a/src/developer/ffx/plugins/profile/memory/src/write_csv_output.rs b/src/developer/ffx/plugins/profile/memory/src/write_csv_output.rs
index e9068807..a148f63 100644
--- a/src/developer/ffx/plugins/profile/memory/src/write_csv_output.rs
+++ b/src/developer/ffx/plugins/profile/memory/src/write_csv_output.rs
@@ -25,12 +25,13 @@
 }
 
 /// Print to `w` a human-readable presentation of `digest`.
+/// Outputting more than just the process data (e.g. `total_committed_bytes_in_vmos`)
+/// is out of the scope of the CSV output.
 fn print_complete_digest(w: &mut Writer, digest: processed::Digest) -> Result<()> {
     print_processes_digest(
         w,
         ProcessesMemoryUsage { process_data: digest.processes, capture_time: digest.time },
     )?;
-    writeln!(w)?;
     Ok(())
 }
 
@@ -43,3 +44,65 @@
         }
     }
 }
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+    use crate::plugin_output::ProcessesMemoryUsage;
+    use crate::processed::RetainedMemory;
+    use crate::ProfileMemoryOutput::ProcessDigest;
+    use std::collections::HashMap;
+    use std::collections::HashSet;
+
+    fn data_for_test() -> crate::ProfileMemoryOutput {
+        ProcessDigest(ProcessesMemoryUsage {
+            capture_time: 123,
+            process_data: vec![processed::Process {
+                koid: 4,
+                name: "P".to_string(),
+                memory: RetainedMemory { private: 11, scaled: 22, total: 33, vmos: vec![] },
+                name_to_memory: {
+                    let mut result = HashMap::new();
+                    result.insert(
+                        "vmoC".to_string(),
+                        processed::RetainedMemory {
+                            private: 4444,
+                            scaled: 55555,
+                            total: 666666,
+                            vmos: vec![],
+                        },
+                    );
+                    result.insert(
+                        "vmoB".to_string(),
+                        processed::RetainedMemory {
+                            private: 4444,
+                            scaled: 55555,
+                            total: 666666,
+                            vmos: vec![],
+                        },
+                    );
+                    result.insert(
+                        "vmoA".to_string(),
+                        processed::RetainedMemory {
+                            private: 44444,
+                            scaled: 555555,
+                            total: 6666666,
+                            vmos: vec![],
+                        },
+                    );
+                    result
+                },
+                vmos: HashSet::new(),
+            }],
+        })
+    }
+
+    #[test]
+    fn write_csv_output_test() {
+        let mut writer = Writer::new_test(None);
+        let _ = write_csv_output(&mut writer, data_for_test());
+        let actual_output = writer.test_output().unwrap();
+        let expected_output = "123,4,P,11,22,33\n";
+        pretty_assertions::assert_eq!(actual_output, *expected_output);
+    }
+}