Merge branch 'main' into jsdw-redo-modes

This commit is contained in:
James Wilson
2025-08-15 14:02:47 +01:00
11 changed files with 229 additions and 19 deletions
+4 -4
View File
@@ -3,6 +3,7 @@ use std::{
path::{Path, PathBuf},
};
use revive_dt_common::cached_fs::read_dir;
use serde::{Deserialize, Serialize};
use crate::metadata::MetadataFile;
@@ -54,7 +55,7 @@ impl Corpus {
/// `path` is expected to be a directory.
pub fn collect_metadata(path: &Path, tests: &mut Vec<MetadataFile>) {
if path.is_dir() {
let dir_entry = match std::fs::read_dir(path) {
let dir_entry = match read_dir(path) {
Ok(dir_entry) => dir_entry,
Err(error) => {
tracing::error!("failed to read dir '{}': {error}", path.display());
@@ -62,8 +63,8 @@ pub fn collect_metadata(path: &Path, tests: &mut Vec<MetadataFile>) {
}
};
for entry in dir_entry {
let entry = match entry {
for path in dir_entry {
let path = match path {
Ok(entry) => entry,
Err(error) => {
tracing::error!("error reading dir entry: {error}");
@@ -71,7 +72,6 @@ pub fn collect_metadata(path: &Path, tests: &mut Vec<MetadataFile>) {
}
};
let path = entry.path();
if path.is_dir() {
collect_metadata(&path, tests);
continue;
+6 -3
View File
@@ -2,7 +2,7 @@ use std::{
cmp::Ordering,
collections::BTreeMap,
fmt::Display,
fs::{File, read_to_string},
fs::File,
ops::Deref,
path::{Path, PathBuf},
str::FromStr,
@@ -12,7 +12,8 @@ use serde::{Deserialize, Serialize};
use revive_common::EVMVersion;
use revive_dt_common::{
iterators::FilesWithExtensionIterator, macros::define_wrapper_type, types::Mode,
cached_fs::read_to_string, iterators::FilesWithExtensionIterator, macros::define_wrapper_type,
types::Mode,
};
use crate::{case::Case, mode::ParsedMode};
@@ -249,7 +250,9 @@ impl Metadata {
Ok(Box::new(std::iter::once(metadata_file_path.clone())))
} else {
Ok(Box::new(
FilesWithExtensionIterator::new(self.directory()?).with_allowed_extension("sol"),
FilesWithExtensionIterator::new(self.directory()?)
.with_allowed_extension("sol")
.with_use_cached_fs(true),
))
}
}