You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by tu...@apache.org on 2022/06/13 21:18:15 UTC

[arrow-rs] branch master updated: Exclude some long-running tests when running under miri (#1863)

This is an automated email from the ASF dual-hosted git repository.

tustvold pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git


The following commit(s) were added to refs/heads/master by this push:
     new cbbbe610e Exclude some long-running tests when running under miri (#1863)
cbbbe610e is described below

commit cbbbe610e1bc64188c6f4945f9da739900d91001
Author: Jörn Horstmann <gi...@jhorstmann.net>
AuthorDate: Mon Jun 13 23:18:02 2022 +0200

    Exclude some long-running tests when running under miri (#1863)
    
    * Exclude some long-running tests when running under miri
    
    * Print exit code of miri
    
    * Disable miri stacked borrows checking because it uses too much memory for github actions
    
    * Exclude another slow test from running under miri
    
    * Add link to miri issue
---
 .github/workflows/miri.sh            | 22 +++++++---------------
 arrow/src/array/array_union.rs       |  1 +
 arrow/src/compute/kernels/filter.rs  |  2 ++
 arrow/src/util/bit_chunk_iterator.rs |  1 +
 4 files changed, 11 insertions(+), 15 deletions(-)

diff --git a/.github/workflows/miri.sh b/.github/workflows/miri.sh
index 27c6f5eec..14c5efd7e 100755
--- a/.github/workflows/miri.sh
+++ b/.github/workflows/miri.sh
@@ -6,21 +6,13 @@
 # rustup default nightly
 
 
-export MIRIFLAGS="-Zmiri-disable-isolation"
+# stacked borrows checking uses too much memory to run successfully in github actions
+# re-enable if the CI is migrated to something more powerful (https://github.com/apache/arrow-rs/issues/1833)
+# see also https://github.com/rust-lang/miri/issues/1367
+export MIRIFLAGS="-Zmiri-disable-isolation -Zmiri-disable-stacked-borrows"
 cargo miri setup
 cargo clean
 
-run_miri() {
-    # Currently only the arrow crate is tested with miri
-    # IO related tests and some unsupported tests are skipped
-    cargo miri test -p arrow -- --skip csv --skip ipc --skip json
-}
-
-# If MIRI fails, automatically retry
-# Seems like miri is occasionally killed by the github runner
-# https://github.com/apache/arrow-rs/issues/879
-for i in `seq 1 5`; do
-    echo "Starting Arrow MIRI run..."
-    run_miri && break
-    echo "foo" > /tmp/data.txt
-done
+echo "Starting Arrow MIRI run..."
+cargo miri test -p arrow -- --skip csv --skip ipc --skip json
+echo "Miri finished with exit code $?"
diff --git a/arrow/src/array/array_union.rs b/arrow/src/array/array_union.rs
index 5cfab0bbf..bae771bb9 100644
--- a/arrow/src/array/array_union.rs
+++ b/arrow/src/array/array_union.rs
@@ -436,6 +436,7 @@ mod tests {
     }
 
     #[test]
+    #[cfg_attr(miri, ignore)]
     fn test_dense_i32_large() {
         let mut builder = UnionBuilder::new_dense(1024);
 
diff --git a/arrow/src/compute/kernels/filter.rs b/arrow/src/compute/kernels/filter.rs
index b59625115..fabc4113d 100644
--- a/arrow/src/compute/kernels/filter.rs
+++ b/arrow/src/compute/kernels/filter.rs
@@ -1332,6 +1332,7 @@ mod tests {
     }
 
     #[test]
+    #[cfg_attr(miri, ignore)]
     fn fuzz_test_slices_iterator() {
         let mut rng = thread_rng();
 
@@ -1401,6 +1402,7 @@ mod tests {
     }
 
     #[test]
+    #[cfg_attr(miri, ignore)]
     fn fuzz_filter() {
         let mut rng = thread_rng();
 
diff --git a/arrow/src/util/bit_chunk_iterator.rs b/arrow/src/util/bit_chunk_iterator.rs
index db5aca2a1..8730d5bd2 100644
--- a/arrow/src/util/bit_chunk_iterator.rs
+++ b/arrow/src/util/bit_chunk_iterator.rs
@@ -611,6 +611,7 @@ mod tests {
     }
 
     #[test]
+    #[cfg_attr(miri, ignore)]
     fn fuzz_unaligned_bit_chunk_iterator() {
         let mut rng = thread_rng();