TestKernelPledge.cpp 726 B

123456789101112131415161718192021222324252627282930
  1. /*
  2. * Copyright (c) 2018-2021, the SerenityOS developers.
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #include <LibTest/TestCase.h>
  7. #include <unistd.h>
  8. TEST_CASE(test_nonexistent_pledge)
  9. {
  10. auto res = pledge("testing123", "notthere");
  11. if (res >= 0)
  12. FAIL("Pledging on existent promises should fail.");
  13. }
  14. TEST_CASE(test_pledge_failures)
  15. {
  16. auto res = pledge("stdio unix rpath", "stdio");
  17. if (res < 0)
  18. FAIL("Initial pledge is expected to work.");
  19. res = pledge("stdio unix", "stdio unix");
  20. if (res >= 0)
  21. FAIL("Additional execpromise \"unix\" should have failed");
  22. res = pledge("stdio", "stdio");
  23. if (res < 0)
  24. FAIL("Reducing promises is expected to work.");
  25. }