From 92d45336ff5ea70c698541f89df1182f4a6023f1 Mon Sep 17 00:00:00 2001 From: 4lDO2 <4lDO2@protonmail.com> Date: Mon, 25 Dec 2023 11:37:02 +0100 Subject: [PATCH] Fix tests. --- .gitlab-ci.yml | 3 ++- examples/logserver.rs | 4 ++-- examples/shm.rs | 8 ++++++-- examples/shm_demo.rs | 8 ++++---- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ecd54e59f9..d019614988 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -22,4 +22,5 @@ test:redox: event main unnamed - #TODO: shm + shm_demo + # FIXME: shm is currently broken diff --git a/examples/logserver.rs b/examples/logserver.rs index 1a2159a519..a060ea30a4 100644 --- a/examples/logserver.rs +++ b/examples/logserver.rs @@ -31,7 +31,7 @@ fn main() -> io::Result<()> { event_file.read(&mut event)?; if event.data == 0 { - println!("Listener recevied flags: {}", event.flags); + println!("Listener recevied flags: {:?}", event.flags); if event.flags & syscall::EVENT_WRITE == syscall::EVENT_WRITE { loop { let stream = match syscall::dup(server.as_raw_fd() as usize, b"listen").map_err(from_syscall_error) { @@ -52,7 +52,7 @@ fn main() -> io::Result<()> { } } } else { - println!("Client #{} received flags: {}", event.data, event.flags); + println!("Client #{} received flags: {:?}", event.data, event.flags); let client = clients.get_mut(&event.data).unwrap(); if event.flags & syscall::EVENT_READ == syscall::EVENT_READ { diff --git a/examples/shm.rs b/examples/shm.rs index 55bbcdfb1a..51cd984716 100644 --- a/examples/shm.rs +++ b/examples/shm.rs @@ -17,17 +17,21 @@ fn main() -> Result<(), io::Error> { syscall::fmap(file1.as_raw_fd() as usize, &syscall::Map { offset: 0, size: 128, - flags: syscall::PROT_READ | syscall::PROT_WRITE + flags: syscall::PROT_READ | syscall::PROT_WRITE | syscall::MAP_SHARED, + address: 0, }).map_err(from_syscall_error)? as *mut u8, 128 ) }; + // FIXME: While the length can be unaligned, the offset cannot. This test is incorrectly + // written. let two = unsafe { slice::from_raw_parts_mut( syscall::fmap(file2.as_raw_fd() as usize, &syscall::Map { offset: 64, size: 64, - flags: syscall::PROT_READ | syscall::PROT_WRITE + flags: syscall::PROT_READ | syscall::PROT_WRITE | syscall::MAP_SHARED, + address: 0, }).map_err(from_syscall_error)? as *mut u8, 64 ) diff --git a/examples/shm_demo.rs b/examples/shm_demo.rs index 369a7ffbde..b3f47515c4 100644 --- a/examples/shm_demo.rs +++ b/examples/shm_demo.rs @@ -16,15 +16,15 @@ fn main() -> Result<(), io::Error> { let counter = unsafe { &mut *(syscall::fmap(file.as_raw_fd() as usize, &syscall::Map { offset: 0, + address: 0, size: mem::size_of::(), - flags: syscall::PROT_READ | syscall::PROT_WRITE + flags: syscall::PROT_READ | syscall::PROT_WRITE | syscall::MAP_SHARED, }).map_err(from_syscall_error)? as *mut usize) }; println!("Read value {}", counter); *counter += 1; println!("Increased value to {}", counter); - loop { - thread::sleep(Duration::from_secs(std::u64::MAX)); - } + thread::sleep(Duration::from_secs(1)); + Ok(()) }