tests/testthat/test-priority.R

context("priority settings")
test_that("setting priority", {

	#force non-root
	me <- ifelse(getuid() == 0, 1000, getuid());

	prio <- getpriority();
	
	# For root the error is 'not permitted' and for users the error is 'Permission denied'

	expect_that(eval_safe(getpriority(), priority=prio+1), equals(prio+1))
	expect_that(eval_safe({setuid(me); setgid(me); setpriority(prio-1)}), throws_error("ermi"));

	expect_that(eval_safe(getpriority(), priority=prio+1), equals(prio+1))
	expect_that(eval_safe({setuid(me); setgid(me); setpriority(prio-1)}), throws_error("ermi"));

	expect_that(eval_safe(getpriority(), priority=prio+1), equals(prio+1))
	expect_that(eval_safe({setuid(me); setgid(me); setpriority(prio-1)}), throws_error("ermi"));

	expect_that(eval_safe(getpriority(), priority=prio+1), equals(prio+1))
	expect_that(eval_safe({setuid(me); setgid(me); setpriority(prio-1)}), throws_error("ermi"));

});

Try the RAppArmor package in your browser

Any scripts or data that you put into this service are public.

RAppArmor documentation built on Oct. 18, 2022, 5:08 p.m.