1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
// Licensed to the Apache Software Foundation (ASF) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The ASF licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. //! Utils to make testing easier use rand::{thread_rng, Rng}; use std::{env, fs, io::Write}; /// Returns a vector of size `n`, filled with randomly generated bytes. pub fn random_bytes(n: usize) -> Vec<u8> { let mut result = vec![]; let mut rng = thread_rng(); for _ in 0..n { result.push(rng.gen_range(0, 255)); } result } /// Returns file handle for a temp file in 'target' directory with a provided content /// /// TODO: Originates from `parquet` utils, can be merged in [ARROW-4064] pub fn get_temp_file(file_name: &str, content: &[u8]) -> fs::File { // build tmp path to a file in "target/debug/testdata" let mut path_buf = env::current_dir().unwrap(); path_buf.push("target"); path_buf.push("debug"); path_buf.push("testdata"); fs::create_dir_all(&path_buf).unwrap(); path_buf.push(file_name); // write file content let mut tmp_file = fs::File::create(path_buf.as_path()).unwrap(); tmp_file.write_all(content).unwrap(); tmp_file.sync_all().unwrap(); // return file handle for both read and write let file = fs::OpenOptions::new() .read(true) .write(true) .open(path_buf.as_path()); assert!(file.is_ok()); file.unwrap() }