From f3845a8f7255387954b80ba466ba9334a362d1a6 Mon Sep 17 00:00:00 2001 From: Matthew Mckee Date: Wed, 3 Dec 2025 17:23:36 +0000 Subject: [PATCH 1/2] Follow symlinks in walker --- crates/karva_core/src/collection/collector.rs | 1 + crates/karva_core/src/utils.rs | 5 +++-- crates/karva_test/src/real_world_projects.rs | 5 +++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/crates/karva_core/src/collection/collector.rs b/crates/karva_core/src/collection/collector.rs index 722b7878..51f9eb28 100644 --- a/crates/karva_core/src/collection/collector.rs +++ b/crates/karva_core/src/collection/collector.rs @@ -170,6 +170,7 @@ impl<'ctx, 'proj, 'rep> ParallelCollector<'ctx, 'proj, 'rep> { .require_git(false) .git_global(false) .parents(true) + .follow_links(true) .git_ignore(!self.context.project().options().no_ignore()) .types({ let mut types = ignore::types::TypesBuilder::new(); diff --git a/crates/karva_core/src/utils.rs b/crates/karva_core/src/utils.rs index 6b7912e7..abd60810 100644 --- a/crates/karva_core/src/utils.rs +++ b/crates/karva_core/src/utils.rs @@ -160,8 +160,9 @@ pub(crate) fn full_test_name( const TRUNCATE_LENGTH: usize = 30; pub(crate) fn truncate_string(value: &str) -> String { - if value.len() > TRUNCATE_LENGTH { - format!("{}...", &value[..TRUNCATE_LENGTH - 3]) + if value.chars().count() > TRUNCATE_LENGTH { + let truncated: String = value.chars().take(TRUNCATE_LENGTH - 3).collect(); + format!("{truncated}...") } else { value.to_string() } diff --git a/crates/karva_test/src/real_world_projects.rs b/crates/karva_test/src/real_world_projects.rs index 88e473b0..14413c68 100644 --- a/crates/karva_test/src/real_world_projects.rs +++ b/crates/karva_test/src/real_world_projects.rs @@ -407,8 +407,9 @@ pub static PYDANTIC_SETTINGS_PROJECT: RealWorldProject<'static> = RealWorldProje pub static PYDANTIC_PROJECT: RealWorldProject<'static> = RealWorldProject { name: "pydantic", - repository: "https://github.com/pydantic/pydantic", - commit: "ed67e3ebf7c9a55de75de0e8995dbce36551eaca", + // Skip recursive test that fails crashes karva and pytest. + repository: "https://github.com/MatthewMckee4/pydantic", + commit: "17fc29cd471dd728866a729f08e0b6557cb9340b", paths: &["tests"], dependencies: &[ "pytest", From f803015cb46fc3c895241ad6c348c9e21838a583 Mon Sep 17 00:00:00 2001 From: Matthew Mckee Date: Wed, 3 Dec 2025 17:29:49 +0000 Subject: [PATCH 2/2] Update pydantic dependencies --- crates/karva_test/src/real_world_projects.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crates/karva_test/src/real_world_projects.rs b/crates/karva_test/src/real_world_projects.rs index 14413c68..fe2b46cb 100644 --- a/crates/karva_test/src/real_world_projects.rs +++ b/crates/karva_test/src/real_world_projects.rs @@ -422,6 +422,8 @@ pub static PYDANTIC_PROJECT: RealWorldProject<'static> = RealWorldProject { "dirty-equals", "jsonschema", "pytz", + "hypothesis", + "inline_snapshot", ], max_dep_date: "2025-12-01", python_version: PythonVersion::PY313,