summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_free_threading/test_grp.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_free_threading/test_grp.py')
-rw-r--r--Lib/test/test_free_threading/test_grp.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/Lib/test/test_free_threading/test_grp.py b/Lib/test/test_free_threading/test_grp.py
new file mode 100644
index 0000000..1a47a97
--- /dev/null
+++ b/Lib/test/test_free_threading/test_grp.py
@@ -0,0 +1,35 @@
+import unittest
+
+from test.support import import_helper, threading_helper
+from test.support.threading_helper import run_concurrently
+
+grp = import_helper.import_module("grp")
+
+from test import test_grp
+
+
+NTHREADS = 10
+
+
+@threading_helper.requires_working_threading()
+class TestGrp(unittest.TestCase):
+ def setUp(self):
+ self.test_grp = test_grp.GroupDatabaseTestCase()
+
+ def test_racing_test_values(self):
+ # test_grp.test_values() calls grp.getgrall() and checks the entries
+ run_concurrently(
+ worker_func=self.test_grp.test_values, nthreads=NTHREADS
+ )
+
+ def test_racing_test_values_extended(self):
+ # test_grp.test_values_extended() calls grp.getgrall(), grp.getgrgid(),
+ # grp.getgrnam() and checks the entries
+ run_concurrently(
+ worker_func=self.test_grp.test_values_extended,
+ nthreads=NTHREADS,
+ )
+
+
+if __name__ == "__main__":
+ unittest.main()