aboutsummaryrefslogtreecommitdiffstats
path: root/src/tests/e2e/cases.rs
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2025-10-21 14:36:30 +0200
committerGitHub <noreply@github.com>2025-10-21 14:36:30 +0200
commit889bd06f447f9d50ee46b8efc7d9970d3693cb96 (patch)
tree171fa657faccf4b4ce7124847977626826a2a750 /src/tests/e2e/cases.rs
parentGive plugins the ability to read pane contents (#4465) (diff)
downloadsl0ppij-889bd06f447f9d50ee46b8efc7d9970d3693cb96.tar.gz
sl0ppij-889bd06f447f9d50ee46b8efc7d9970d3693cb96.tar.xz
sl0ppij-889bd06f447f9d50ee46b8efc7d9970d3693cb96.zip
Migrate from wasmtime to wasmi (#4449)
* initial implementation * fix stdio and host folder mounting * some memory usage optimizations * fix plugin tests * remove unused plugin cache * fix docker-compose for e2e tests when running locally * rustfmt * initial pinned executor implementation * EXPERIMENT: add jemalloc * initial dynamic pinned threadpool * cleanups and experiments * keep state on execution threads * reintroduce memory cache * add wasmi engine to executor threads * load plugins for new clients on the relevant executor thread * only show loading indication of loading for more than 0.4 secs * fix anonymous plugin loading without client id * refactor lots of stuff * update snapshots * tests for pinned executor * remove jemalloc * fix stderr from plugins * cleanups * rustfmt * cleanups * fix endless loading for additinal attachments * more cleanups * remove singlepass feature * fix displaying plugin permission message * render optimizations * always render for tests * rustfmt * optimize release build for wasmi * fixes for multiple client plugin loading * fix frame rendering for multiple clients * rustfmt * fix loading background plugins and e2e event ordering change * rustfmt * account for races in the pin_floating_panes e2e test * docs(changelog): add PR
Diffstat (limited to 'src/tests/e2e/cases.rs')
-rw-r--r--src/tests/e2e/cases.rs15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/tests/e2e/cases.rs b/src/tests/e2e/cases.rs
index c0e50056..bf5b6564 100644
--- a/src/tests/e2e/cases.rs
+++ b/src/tests/e2e/cases.rs
@@ -376,7 +376,9 @@ pub fn toggle_pane_fullscreen() {
name: "Wait for pane to become fullscreen",
instruction: |remote_terminal: RemoteTerminal| -> bool {
let mut step_is_complete = false;
- if remote_terminal.cursor_position_is(3, 2) {
+ if remote_terminal.cursor_position_is(3, 2)
+ && remote_terminal.snapshot_contains("LOCK")
+ {
// cursor is in full screen pane now
step_is_complete = true;
}
@@ -1445,6 +1447,7 @@ pub fn scrolling_inside_a_pane_with_mouse() {
if remote_terminal.cursor_position_is(63, 21)
&& remote_terminal.snapshot_contains("line1 ")
&& remote_terminal.snapshot_contains("SCROLL: 3/3")
+ && remote_terminal.snapshot_contains("LOCK")
{
step_is_complete = true;
}
@@ -2485,6 +2488,7 @@ pub fn pin_floating_panes() {
remote_terminal.send_key(&PANE_MODE);
std::thread::sleep(std::time::Duration::from_millis(100));
remote_terminal.send_key(&TOGGLE_FLOATING_PANES);
+ std::thread::sleep(std::time::Duration::from_millis(100));
step_is_complete = true;
}
step_is_complete
@@ -2517,9 +2521,14 @@ pub fn pin_floating_panes() {
runner.run_all_steps();
let last_snapshot = runner.take_snapshot_after(Step {
name: "Wait for cursor to be behind pinned pane",
- instruction: |remote_terminal: RemoteTerminal| -> bool {
+ instruction: |mut remote_terminal: RemoteTerminal| -> bool {
let mut step_is_complete = false;
- if remote_terminal.snapshot_contains("hide") {
+ if !remote_terminal.snapshot_contains("LOCK") {
+ remote_terminal.send_key(&PANE_MODE);
+ }
+ if remote_terminal.snapshot_contains("hide")
+ && remote_terminal.snapshot_contains("LOCK")
+ {
// terminal has been filled with fixture text
step_is_complete = true;
}