You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
806 B
45 lines
806 B
7 months ago
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||
|
/*
|
||
|
* Copyright (C) 2015 Cedric Hnyda <ced.hnyda@gmail.com>
|
||
|
*
|
||
|
* Calls getrandom(2), check that the return value is equal to the
|
||
|
* number of bytes required and expects success.
|
||
|
*/
|
||
|
|
||
|
#include "lapi/getrandom.h"
|
||
|
#include "lapi/syscalls.h"
|
||
|
#include "tst_test.h"
|
||
|
|
||
|
#define MAX_SIZE 256
|
||
|
|
||
|
static unsigned int sizes[] = {
|
||
|
1,
|
||
|
2,
|
||
|
3,
|
||
|
7,
|
||
|
8,
|
||
|
15,
|
||
|
22,
|
||
|
64,
|
||
|
127,
|
||
|
};
|
||
|
|
||
|
static void verify_getrandom(unsigned int n)
|
||
|
{
|
||
|
char buf[MAX_SIZE];
|
||
|
|
||
|
TEST(tst_syscall(__NR_getrandom, buf, sizes[n], 0));
|
||
|
|
||
|
if (TST_RET != sizes[n]) {
|
||
|
tst_res(TFAIL | TTERRNO, "getrandom returned %li, expected %u",
|
||
|
TST_RET, sizes[n]);
|
||
|
} else {
|
||
|
tst_res(TPASS, "getrandom returned %ld", TST_RET);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
static struct tst_test test = {
|
||
|
.tcnt = ARRAY_SIZE(sizes),
|
||
|
.test = verify_getrandom,
|
||
|
};
|