From b801c7cf3c57075f839898bf41e2d16209066413 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Lov=C3=A9n?= Date: Mon, 12 Feb 2018 13:59:10 +0100 Subject: [PATCH] Make tests unassuming --- src/kernel/interrupts/idt.tt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/kernel/interrupts/idt.tt b/src/kernel/interrupts/idt.tt index 4cec586..98b6f9b 100644 --- a/src/kernel/interrupts/idt.tt +++ b/src/kernel/interrupts/idt.tt @@ -11,21 +11,23 @@ void load_idt(struct idtr *_) (void)_; } +uint8_t *idt_raw = (uint8_t *)idt; + TEST(idt_set_gate_correctly_sets_address_L) { idt_set_gate(1, 0x1234567890ABCDEF, 0, 0, 0); - ASSERT_EQ_INT(idt[1].base_l, 0xCDEF); + ASSERT_EQ_INT(*(uint16_t *)&idt_raw[16+0], 0xCDEF); } TEST(idt_set_gate_correctly_sets_address_M) { idt_set_gate(1, 0x1234567890ABCDEF, 0, 0, 0); - ASSERT_EQ_INT(idt[1].base_m, 0x90AB); + ASSERT_EQ_INT(*(uint16_t *)&idt_raw[16+6], 0x90AB); } TEST(idt_set_gate_correctly_sets_address_H) { idt_set_gate(1, 0x1234567890ABCDEF, 0, 0, 0); - ASSERT_EQ_INT(idt[1].base_h, 0x12345678); + ASSERT_EQ_INT(*(uint32_t *)&idt_raw[16+8], 0x12345678); }