Files
entropy/lib/tests/const.py
Sławomir Nizio fabb3e72da [tests] add lib/tests/run-nonpriv-wrapper
- runs as non-root
- does not require being in entropy/portage group
    - in fact, it's better (better isolation) to run as such
- thus does not modify running system

The wrapper script is ugly but very convenient.
2018-08-05 00:40:11 +02:00

41 lines
1.2 KiB
Python

# -*- coding: utf-8 -*-
import os
import sys
sys.path.insert(0, 'client')
sys.path.insert(0, '../../client')
sys.path.insert(0, '.')
sys.path.insert(0, '../')
import unittest
import tests._misc as _misc
from entropy.const import const_drop_privileges, const_regain_privileges
from entropy.exceptions import SecurityError
class ConstTest(unittest.TestCase):
@unittest.skipIf(os.getenv("ETP_TEST_SKIP_PRIVILEGED"), "ETP_TEST_SKIP_PRIVILEGED is set")
def test_privileges(self):
self.assertTrue(os.getuid() == 0)
self.assertTrue(os.getgid() == 0)
const_drop_privileges()
self.assertTrue(os.getuid() != 0)
self.assertTrue(os.getgid() != 0)
const_regain_privileges()
self.assertTrue(os.getuid() == 0)
self.assertTrue(os.getgid() == 0)
const_drop_privileges()
self.assertTrue(os.getuid() != 0)
self.assertTrue(os.getgid() != 0)
const_drop_privileges()
self.assertTrue(os.getuid() != 0)
self.assertTrue(os.getgid() != 0)
const_regain_privileges()
self.assertTrue(os.getuid() == 0)
self.assertTrue(os.getgid() == 0)
if __name__ == '__main__':
unittest.main()
raise SystemExit(0)