Exemplo n.º 1
0
static void verify_epoll_create1(void)
{
	int fd, coe;

	fd = tst_syscall(__NR_epoll_create1, 0);
	if (fd == -1)
		tst_brk(TFAIL | TERRNO, "epoll_create1(0) failed");

	coe = SAFE_FCNTL(fd, F_GETFD);
	if (coe & FD_CLOEXEC)
		tst_brk(TFAIL, "flags=0 set close-on-exec flag");

	SAFE_CLOSE(fd);

	fd = tst_syscall(__NR_epoll_create1, EPOLL_CLOEXEC);
	if (fd == -1)
		tst_brk(TFAIL | TERRNO, "epoll_create1(EPOLL_CLOEXEC) failed");

	coe = SAFE_FCNTL(fd, F_GETFD);
	if ((coe & FD_CLOEXEC) == 0)
		tst_brk(TFAIL, "flags=EPOLL_CLOEXEC didn't set close-on-exec");

	SAFE_CLOSE(fd);

	tst_res(TPASS, "epoll_create1(EPOLL_CLOEXEC) PASSED");
}
Exemplo n.º 2
0
Arquivo: ustat02.c Projeto: kraj/ltp
void run(unsigned int test)
{
	TEST(tst_syscall(__NR_ustat, *tc[test].dev, tc[test].buf));

	if ((TST_RET == -1) && (TST_ERR == tc[test].exp_errno))
		tst_res(TPASS | TTERRNO, "ustat(2) expected failure");
	else
		tst_res(TFAIL | TTERRNO,
			"ustat(2) failed to produce expected error; %d, errno"
			": %s", tc[test].exp_errno, tc[test].exp_errval);
}
Exemplo n.º 3
0
static void verify_getrandom(void)
{
	char buf[128];
	struct rlimit lold, lnew;

	SAFE_GETRLIMIT(RLIMIT_NOFILE, &lold);
	lnew.rlim_max = lold.rlim_max;
	lnew.rlim_cur = 3;
	SAFE_SETRLIMIT(RLIMIT_NOFILE, &lnew);

	TEST(tst_syscall(__NR_getrandom, buf, 100, 0));
	if (TST_RET == -1)
		tst_res(TFAIL | TTERRNO, "getrandom failed");
	else
		tst_res(TPASS, "getrandom returned %ld", TST_RET);

	SAFE_SETRLIMIT(RLIMIT_NOFILE, &lold);
}
Exemplo n.º 4
0
static void setup(void)
{
	if (opt_fsizestr)
		testfile_size = SAFE_STRTOL(opt_fsizestr, 1, INT_MAX);

	if (access(PROC_IO_FNAME, F_OK))
		tst_brk(TCONF, "Requires " PROC_IO_FNAME);

	has_file(DROP_CACHES_FNAME, 1);
	has_file(MEMINFO_FNAME, 1);

	/* check if readahead is supported */
	tst_syscall(__NR_readahead, 0, 0, 0);

	pagesize = getpagesize();

	setup_readahead_length();
	tst_res(TINFO, "readahead length: %d", readahead_length);

	setup_overlay();
}
Exemplo n.º 5
0
Arquivo: add_key02.c Projeto: 1587/ltp
static void verify_add_key(unsigned int i)
{
#ifdef HAVE_LINUX_KEYCTL_H
	TEST(tst_syscall(__NR_add_key, tcases[i].type, tcases[i].desc,
	                 tcases[i].payload, tcases[i].plen,
	                 KEY_SPEC_USER_KEYRING));

	if (TEST_RETURN != -1) {
		tst_res(TFAIL, "add_key() passed unexpectedly");
		return;
	}

	if (TEST_ERRNO == tcases[i].exp_errno) {
		tst_res(TPASS | TTERRNO, "add_key() failed expectedly");
		return;
	}

	tst_res(TFAIL | TTERRNO,
	        "add_key() failed unexpectedly, expected %s",
	        tst_strerrno(tcases[i].exp_errno));
#else
	tst_brk(TCONF, "linux/keyctl.h was missing upon compilation.");
#endif /* HAVE_LINUX_KEYCTL_H */
}
Exemplo n.º 6
0
int sys_memfd_create(const char *name, unsigned int flags)
{
	return tst_syscall(__NR_memfd_create, name, flags);
}