diff options
| author | Bjoern Brandenburg <bbb@mpi-sws.org> | 2012-06-25 03:24:22 -0400 |
|---|---|---|
| committer | Bjoern Brandenburg <bbb@mpi-sws.org> | 2012-07-23 06:02:33 -0400 |
| commit | 3740f63a46e1a7fa328a157d25f11e3d307cde13 (patch) | |
| tree | 991b772e098a93ea73fb7d415b57e9b860924d41 /tests | |
| parent | 0468289e9210179f5c2bf148ec57305c33032ed1 (diff) | |
New test: /dev/litmus/ctrl must be writable
Under any plugin, the control page should be mappable
and writable.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/core_api.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/core_api.c b/tests/core_api.c index 33c6217..533fb8e 100644 --- a/tests/core_api.c +++ b/tests/core_api.c | |||
| @@ -141,3 +141,20 @@ TESTCASE(rt_fork_non_rt, LITMUS, | |||
| 141 | ASSERT(WEXITSTATUS(status) == 0); | 141 | ASSERT(WEXITSTATUS(status) == 0); |
| 142 | } | 142 | } |
| 143 | } | 143 | } |
| 144 | |||
| 145 | TESTCASE(ctrl_page_writable, ALL, | ||
| 146 | "tasks have write access to /dev/litmus/ctrl mappings") | ||
| 147 | { | ||
| 148 | volatile int *ctrl_page = (volatile int*) get_ctrl_page(); | ||
| 149 | |||
| 150 | /* init_litmus() should have mapped the page already */ | ||
| 151 | ASSERT(ctrl_page != NULL); | ||
| 152 | |||
| 153 | /* These should work without page faults. */ | ||
| 154 | enter_np(); | ||
| 155 | exit_np(); | ||
| 156 | |||
| 157 | /* Try poking the memory directly. */ | ||
| 158 | |||
| 159 | ctrl_page[32] = 0x12345678; | ||
| 160 | } | ||
