mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-01-11 22:12:53 +01:00
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:
3
.github/workflows/windows.yaml
vendored
3
.github/workflows/windows.yaml
vendored
@@ -55,8 +55,7 @@ jobs:
|
|||||||
key: ${{ matrix.platform.target }}
|
key: ${{ matrix.platform.target }}
|
||||||
- run: cargo +nightly fmt --check
|
- run: cargo +nightly fmt --check
|
||||||
- run: cargo clippy
|
- run: cargo clippy
|
||||||
# sockets don't work properly on the windows runner
|
- run: cargo test
|
||||||
- run: cargo test -- --skip window_manager --skip process_command
|
|
||||||
- uses: houseabsolute/actions-rust-cross@v1
|
- uses: houseabsolute/actions-rust-cross@v1
|
||||||
with:
|
with:
|
||||||
command: "build"
|
command: "build"
|
||||||
|
|||||||
@@ -2077,20 +2077,19 @@ mod tests {
|
|||||||
use crate::Rect;
|
use crate::Rect;
|
||||||
use crate::SocketMessage;
|
use crate::SocketMessage;
|
||||||
use crate::WindowManagerEvent;
|
use crate::WindowManagerEvent;
|
||||||
use crate::DATA_DIR;
|
|
||||||
use crossbeam_channel::bounded;
|
use crossbeam_channel::bounded;
|
||||||
use crossbeam_channel::Receiver;
|
use crossbeam_channel::Receiver;
|
||||||
use crossbeam_channel::Sender;
|
use crossbeam_channel::Sender;
|
||||||
use std::io::BufRead;
|
use std::io::BufRead;
|
||||||
use std::io::BufReader;
|
use std::io::BufReader;
|
||||||
use std::io::Write;
|
use std::io::Write;
|
||||||
|
use std::path::PathBuf;
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
use uds_windows::UnixStream;
|
use uds_windows::UnixStream;
|
||||||
use uuid::Uuid;
|
use uuid::Uuid;
|
||||||
|
|
||||||
fn send_socket_message(socket: &str, message: SocketMessage) {
|
fn send_socket_message(socket: &PathBuf, message: SocketMessage) {
|
||||||
let socket = DATA_DIR.join(socket);
|
|
||||||
let mut stream = UnixStream::connect(socket).unwrap();
|
let mut stream = UnixStream::connect(socket).unwrap();
|
||||||
stream
|
stream
|
||||||
.set_write_timeout(Some(Duration::from_secs(1)))
|
.set_write_timeout(Some(Duration::from_secs(1)))
|
||||||
@@ -2105,7 +2104,7 @@ mod tests {
|
|||||||
let (_sender, receiver): (Sender<WindowManagerEvent>, Receiver<WindowManagerEvent>) =
|
let (_sender, receiver): (Sender<WindowManagerEvent>, Receiver<WindowManagerEvent>) =
|
||||||
bounded(1);
|
bounded(1);
|
||||||
let socket_name = format!("komorebi-test-{}.sock", Uuid::new_v4());
|
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 mut wm = WindowManager::new(receiver, Some(socket_path.clone())).unwrap();
|
||||||
let m = monitor::new(
|
let m = monitor::new(
|
||||||
0,
|
0,
|
||||||
@@ -2120,7 +2119,7 @@ mod tests {
|
|||||||
wm.monitors_mut().push_back(m);
|
wm.monitors_mut().push_back(m);
|
||||||
|
|
||||||
// send a message
|
// 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 (stream, _) = wm.command_listener.accept().unwrap();
|
||||||
let reader = BufReader::new(stream.try_clone().unwrap());
|
let reader = BufReader::new(stream.try_clone().unwrap());
|
||||||
|
|||||||
@@ -3667,10 +3667,10 @@ mod tests {
|
|||||||
use crate::window_manager::WindowManager;
|
use crate::window_manager::WindowManager;
|
||||||
use crate::Rect;
|
use crate::Rect;
|
||||||
use crate::WindowManagerEvent;
|
use crate::WindowManagerEvent;
|
||||||
use crate::DATA_DIR;
|
|
||||||
use crossbeam_channel::bounded;
|
use crossbeam_channel::bounded;
|
||||||
use crossbeam_channel::Receiver;
|
use crossbeam_channel::Receiver;
|
||||||
use crossbeam_channel::Sender;
|
use crossbeam_channel::Sender;
|
||||||
|
use std::path::PathBuf;
|
||||||
use uuid::Uuid;
|
use uuid::Uuid;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -3678,13 +3678,11 @@ mod tests {
|
|||||||
let (_sender, receiver): (Sender<WindowManagerEvent>, Receiver<WindowManagerEvent>) =
|
let (_sender, receiver): (Sender<WindowManagerEvent>, Receiver<WindowManagerEvent>) =
|
||||||
bounded(1);
|
bounded(1);
|
||||||
let socket_name = format!("komorebi-test-{}.sock", Uuid::new_v4());
|
let socket_name = format!("komorebi-test-{}.sock", Uuid::new_v4());
|
||||||
let socket = Some(DATA_DIR.join(socket_name));
|
let socket_path = PathBuf::from(socket_name);
|
||||||
let wm = WindowManager::new(receiver, socket.clone());
|
let wm = WindowManager::new(receiver, Some(socket_path.clone()).clone());
|
||||||
assert!(wm.is_ok());
|
assert!(wm.is_ok());
|
||||||
|
|
||||||
if let Some(ref socket_path) = socket {
|
std::fs::remove_file(socket_path).unwrap();
|
||||||
let _ = std::fs::remove_file(socket_path);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -3692,7 +3690,7 @@ mod tests {
|
|||||||
let (_sender, receiver): (Sender<WindowManagerEvent>, Receiver<WindowManagerEvent>) =
|
let (_sender, receiver): (Sender<WindowManagerEvent>, Receiver<WindowManagerEvent>) =
|
||||||
bounded(1);
|
bounded(1);
|
||||||
let socket_name = format!("komorebi-test-{}.sock", Uuid::new_v4());
|
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 mut wm = WindowManager::new(receiver, Some(socket_path.clone())).unwrap();
|
||||||
let m = monitor::new(
|
let m = monitor::new(
|
||||||
0,
|
0,
|
||||||
|
|||||||
Reference in New Issue
Block a user