Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 0 additions & 11 deletions Lib/test/test_pyrepl/test_windows_console.py
Original file line number Diff line number Diff line change
Expand Up @@ -480,7 +480,6 @@ def test_unhandled_events(self):
self.assertEqual(self.get_event([ir]), None)
self.assertEqual(self.mock.call_count, 1)

@unittest.expectedFailure # TODO: RUSTPYTHON
def test_enter(self):
ir = self.get_input_record("\r", self.VK_RETURN)
self.assertEqual(self.get_event([ir]), Event("key", "\n"))
Expand All @@ -492,13 +491,11 @@ def test_backspace(self):
self.get_event([ir]), Event("key", "backspace"))
self.assertEqual(self.mock.call_count, 1)

@unittest.expectedFailure # TODO: RUSTPYTHON
def test_m(self):
ir = self.get_input_record("m", self.VK_M)
self.assertEqual(self.get_event([ir]), Event("key", "m"))
self.assertEqual(self.mock.call_count, 1)

@unittest.expectedFailure # TODO: RUSTPYTHON
def test_M(self):
ir = self.get_input_record("M", self.VK_M, self.SHIFT_PRESSED)
self.assertEqual(self.get_event([ir]), Event("key", "M"))
Expand Down Expand Up @@ -554,23 +551,20 @@ def test_m_LEFT_ALT_PRESSED_and_LEFT_CTRL_PRESSED(self):
self.assertEqual(self.get_event([ir]), None)
self.assertEqual(self.mock.call_count, 1)

@unittest.expectedFailure # TODO: RUSTPYTHON
def test_m_LEFT_ALT_PRESSED(self):
ir = self.get_input_record(
"m", vcode=self.VK_M, control=self.LEFT_ALT_PRESSED)
self.assertEqual(self.get_event([ir]), Event(evt="key", data="\033"))
self.assertEqual(self.console.get_event(), Event("key", "m"))
self.assertEqual(self.mock.call_count, 1)

@unittest.expectedFailure # TODO: RUSTPYTHON
def test_m_RIGHT_ALT_PRESSED(self):
ir = self.get_input_record(
"m", vcode=self.VK_M, control=self.RIGHT_ALT_PRESSED)
self.assertEqual(self.get_event([ir]), Event(evt="key", data="\033"))
self.assertEqual(self.console.get_event(), Event("key", "m"))
self.assertEqual(self.mock.call_count, 1)

@unittest.expectedFailure # TODO: RUSTPYTHON
def test_AltGr_7(self):
# E.g. on a German keyboard layout, '{' is entered via
# AltGr + 7, where AltGr is the right Alt key on the keyboard.
Expand All @@ -587,7 +581,6 @@ def test_AltGr_7(self):
self.assertEqual(self.get_event([ir]), Event("key", "{"))
self.assertEqual(self.mock.call_count, 1)

@unittest.expectedFailure # TODO: RUSTPYTHON
def test_AltGr_m(self):
# E.g. on a German keyboard layout, this yields 'µ'
# Let's use LEFT_ALT_PRESSED and RIGHT_CTRL_PRESSED this
Expand All @@ -597,7 +590,6 @@ def test_AltGr_m(self):
self.assertEqual(self.get_event([ir]), Event("key", "µ"))
self.assertEqual(self.mock.call_count, 1)

@unittest.expectedFailure # TODO: RUSTPYTHON
def test_umlaut_a_german(self):
ir = self.get_input_record("ä", self.VK_OEM_7)
self.assertEqual(self.get_event([ir]), Event("key", "ä"))
Expand All @@ -612,21 +604,18 @@ def test_umlaut_a_german(self):
# are sufficient to test here, the real tests happen in test_eventqueue
# and test_keymap.

@unittest.expectedFailure # TODO: RUSTPYTHON
def test_enter_vt(self):
ir = self.get_input_record("\r")
self.assertEqual(self.get_event([ir], vt_support=True),
Event("key", "\n"))
self.assertEqual(self.mock.call_count, 1)

@unittest.expectedFailure # TODO: RUSTPYTHON
def test_backspace_vt(self):
ir = self.get_input_record("\x7f")
self.assertEqual(self.get_event([ir], vt_support=True),
Event("key", "backspace", b"\x7f"))
self.assertEqual(self.mock.call_count, 1)

@unittest.expectedFailure # TODO: RUSTPYTHON
def test_up_vt(self):
irs = [self.get_input_record(x) for x in "\x1b[A"]
self.assertEqual(self.get_event(irs, vt_support=True),
Expand Down
16 changes: 15 additions & 1 deletion crates/host_env/src/ctypes.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1083,7 +1083,7 @@ pub fn simple_storage_value_to_bytes_endian(
}
_ => vec![0; 2],
},
"P" | "z" | "Z" => match value {
"P" | "z" | "Z" | "X" => match value {
SimpleStorageValue::Pointer(value) => {
uint_to_sized_bytes_endian(value as u64, pointer_size(), swapped)
}
Expand Down Expand Up @@ -2994,6 +2994,20 @@ pub fn dlsym_checked(_handle: usize, symbol_name: &CStr) -> Result<*mut c_void,
mod tests {
use super::*;

#[test]
fn bstr_storage_preserves_pointer_width() {
Comment thread
1ndahous3 marked this conversation as resolved.
for address in [0, usize::MAX] {
assert_eq!(
simple_storage_value_to_bytes_endian(
"X",
SimpleStorageValue::Pointer(address),
false,
),
address.to_ne_bytes(),
);
}
}

#[test]
fn simple_type_is_pointer_classifies_codes() {
assert!(simple_type_is_pointer("z"));
Expand Down
Loading
Loading