From ffcec011f85ac9e9fb8ef3a597ac2279d897d054 Mon Sep 17 00:00:00 2001 From: Conrad Irwin Date: Wed, 25 Oct 2023 23:24:17 +0200 Subject: [PATCH] Don't use function_name in vim tests --- .../src/test/neovim_backed_test_context.rs | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/crates/vim/src/test/neovim_backed_test_context.rs b/crates/vim/src/test/neovim_backed_test_context.rs index 7944e9297cd4b85f2dde10f44cbad42f3d10b951..d6c00c85344591983aa9a691d99b795ff12f783f 100644 --- a/crates/vim/src/test/neovim_backed_test_context.rs +++ b/crates/vim/src/test/neovim_backed_test_context.rs @@ -1,7 +1,10 @@ use editor::scroll::VERTICAL_SCROLL_MARGIN; use indoc::indoc; use settings::SettingsStore; -use std::ops::{Deref, DerefMut}; +use std::{ + ops::{Deref, DerefMut}, + panic, thread, +}; use collections::{HashMap, HashSet}; use gpui::{geometry::vector::vec2f, ContextHandle}; @@ -59,12 +62,22 @@ pub struct NeovimBackedTestContext<'a> { impl<'a> NeovimBackedTestContext<'a> { pub async fn new(cx: &'a mut gpui::TestAppContext) -> NeovimBackedTestContext<'a> { - let function_name = cx.function_name.clone(); - let cx = VimTestContext::new(cx, true).await; + // rust stores the name of the test on the current thread. + // We use this to automatically name a file that will store + // the neovim connection's requests/responses so that we can + // run without neovim on CI. + let thread = thread::current(); + let test_name = thread + .name() + .expect("thread is not named") + .split(":") + .last() + .unwrap() + .to_string(); Self { - cx, + cx: VimTestContext::new(cx, true).await, exemptions: Default::default(), - neovim: NeovimConnection::new(function_name).await, + neovim: NeovimConnection::new(test_name).await, last_set_state: None, recent_keystrokes: Default::default(),