ReactOS 0.4.16-dev-205-g7b2bb7e
Example.c
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS kernel-mode tests
3 * LICENSE: LGPL-2.1+ (https://spdx.org/licenses/LGPL-2.1+)
4 * PURPOSE: Kernel-Mode Test Suite Example kernel-mode test part
5 * COPYRIGHT: Copyright 2011-2018 Thomas Faber <thomas.faber@reactos.org>
6 */
7
8#include <kmt_test.h>
9
10START_TEST(Example)
11{
12 KIRQL Irql;
13
14 ok(1, "This test should succeed.\n");
15 ok(0, "This test should fail.\n");
16 trace("Message from kernel, low-irql. %s. %ls.\n", "Format strings work", L"Even with Unicode");
18 trace("Message from kernel, high-irql. %s. %ls.\n", "Format strings work", L"Even with Unicode");
19
20 ok_irql(DISPATCH_LEVEL);
21 ok_eq_int(5, 6);
22 ok_eq_uint(6U, 7U);
23 ok_eq_long(1L, 2L);
24 ok_eq_ulong(3LU, 4LU);
26 ok_eq_hex(0x1234LU, 0x5678LU);
30 ok_bool_true(FALSE, "foo");
31 ok_bool_false(TRUE, "bar");
32 ok_eq_print(1, 2, "%i");
33 ok_eq_str("Hello", "world");
34 ok_eq_wstr(L"ABC", L"DEF");
35
36 if (!skip(KeGetCurrentIrql() == HIGH_LEVEL, "This should only work on HIGH_LEVEL\n"))
37 {
38 /* do tests depending on HIGH_LEVEL here */
39 ok(1, "This is fine\n");
40 }
41
43}
#define ok_eq_pointer(value, expected)
Definition: apitest.h:59
#define ok_eq_str(value, expected)
Definition: apitest.h:83
#define ok_eq_hex(value, expected)
Definition: apitest.h:77
#define ok_eq_ulong(value, expected)
Definition: apitest.h:63
#define ok_eq_long(value, expected)
Definition: apitest.h:62
#define ok_eq_wstr(value, expected)
Definition: apitest.h:84
#define ok_bool_false(value, desc)
Definition: apitest.h:79
#define ok_eq_uint(value, expected)
Definition: apitest.h:61
#define ok_eq_print(value, expected, spec)
Definition: apitest.h:57
#define ok_bool_true(value, desc)
Definition: apitest.h:78
#define ok_eq_int(value, expected)
Definition: apitest.h:60
#define ok_eq_bool(value, expected)
Definition: apitest.h:80
#define trace
Definition: atltest.h:70
#define ok(value,...)
Definition: atltest.h:57
#define skip(...)
Definition: atltest.h:64
#define START_TEST(x)
Definition: atltest.h:75
#define U(x)
Definition: wordpad.c:45
_Out_ PKIRQL Irql
Definition: csq.h:179
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
UCHAR KIRQL
Definition: env_spec_w32.h:591
#define KeRaiseIrql(irql, oldIrql)
Definition: env_spec_w32.h:597
#define HIGH_LEVEL
Definition: env_spec_w32.h:703
#define KeLowerIrql(oldIrql)
Definition: env_spec_w32.h:602
#define KeGetCurrentIrql()
Definition: env_spec_w32.h:706
#define DISPATCH_LEVEL
Definition: env_spec_w32.h:696
#define L(x)
Definition: ntvdm.h:50