test(wm): don't rely on datadir for socket location

This commit avoids relying on DATA_DIR for the test socket location as
this path is not available to us in GitHub Actions runners.
This commit is contained in:
LGUG2Z
2025-03-07 15:59:54 -08:00
parent c90769f5fa
commit 555308db5f
3 changed files with 10 additions and 14 deletions

View File

@@ -55,8 +55,7 @@ jobs:
key: ${{ matrix.platform.target }}
- run: cargo +nightly fmt --check
- run: cargo clippy
# sockets don't work properly on the windows runner
- run: cargo test -- --skip window_manager --skip process_command
- run: cargo test
- uses: houseabsolute/actions-rust-cross@v1
with:
command: "build"

View File

@@ -2077,20 +2077,19 @@ mod tests {
use crate::Rect;
use crate::SocketMessage;
use crate::WindowManagerEvent;
use crate::DATA_DIR;
use crossbeam_channel::bounded;
use crossbeam_channel::Receiver;
use crossbeam_channel::Sender;
use std::io::BufRead;
use std::io::BufReader;
use std::io::Write;
use std::path::PathBuf;
use std::str::FromStr;
use std::time::Duration;
use uds_windows::UnixStream;
use uuid::Uuid;
fn send_socket_message(socket: &str, message: SocketMessage) {
let socket = DATA_DIR.join(socket);
fn send_socket_message(socket: &PathBuf, message: SocketMessage) {
let mut stream = UnixStream::connect(socket).unwrap();
stream
.set_write_timeout(Some(Duration::from_secs(1)))
@@ -2105,7 +2104,7 @@ mod tests {
let (_sender, receiver): (Sender<WindowManagerEvent>, Receiver<WindowManagerEvent>) =
bounded(1);
let socket_name = format!("komorebi-test-{}.sock", Uuid::new_v4());
let socket_path = DATA_DIR.join(&socket_name);
let socket_path = PathBuf::from(&socket_name);
let mut wm = WindowManager::new(receiver, Some(socket_path.clone())).unwrap();
let m = monitor::new(
0,
@@ -2120,7 +2119,7 @@ mod tests {
wm.monitors_mut().push_back(m);
// send a message
send_socket_message(&socket_name, SocketMessage::FocusWorkspaceNumber(5));
send_socket_message(&socket_path, SocketMessage::FocusWorkspaceNumber(5));
let (stream, _) = wm.command_listener.accept().unwrap();
let reader = BufReader::new(stream.try_clone().unwrap());

View File

@@ -3667,10 +3667,10 @@ mod tests {
use crate::window_manager::WindowManager;
use crate::Rect;
use crate::WindowManagerEvent;
use crate::DATA_DIR;
use crossbeam_channel::bounded;
use crossbeam_channel::Receiver;
use crossbeam_channel::Sender;
use std::path::PathBuf;
use uuid::Uuid;
#[test]
@@ -3678,13 +3678,11 @@ mod tests {
let (_sender, receiver): (Sender<WindowManagerEvent>, Receiver<WindowManagerEvent>) =
bounded(1);
let socket_name = format!("komorebi-test-{}.sock", Uuid::new_v4());
let socket = Some(DATA_DIR.join(socket_name));
let wm = WindowManager::new(receiver, socket.clone());
let socket_path = PathBuf::from(socket_name);
let wm = WindowManager::new(receiver, Some(socket_path.clone()).clone());
assert!(wm.is_ok());
if let Some(ref socket_path) = socket {
let _ = std::fs::remove_file(socket_path);
}
std::fs::remove_file(socket_path).unwrap();
}
#[test]
@@ -3692,7 +3690,7 @@ mod tests {
let (_sender, receiver): (Sender<WindowManagerEvent>, Receiver<WindowManagerEvent>) =
bounded(1);
let socket_name = format!("komorebi-test-{}.sock", Uuid::new_v4());
let socket_path = DATA_DIR.join(&socket_name);
let socket_path = PathBuf::from(socket_name);
let mut wm = WindowManager::new(receiver, Some(socket_path.clone())).unwrap();
let m = monitor::new(
0,