MCPcopy Index your code
hub / github.com/python/cpython / _TestValue

Class _TestValue

Lib/test/_test_multiprocessing.py:2511–2585  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2509#
2510
2511class _TestValue(BaseTestCase):
2512
2513 ALLOWED_TYPES = ('processes',)
2514
2515 codes_values = [
2516 ('i', 4343, 24234),
2517 ('d', 3.625, -4.25),
2518 ('h', -232, 234),
2519 ('q', 2 ** 33, 2 ** 34),
2520 ('c', latin('x'), latin('y'))
2521 ]
2522
2523 def setUp(self):
2524 if not HAS_SHAREDCTYPES:
2525 self.skipTest("requires multiprocessing.sharedctypes")
2526
2527 @classmethod
2528 def _test(cls, values):
2529 for sv, cv in zip(values, cls.codes_values):
2530 sv.value = cv[2]
2531
2532 @warnings_helper.ignore_fork_in_thread_deprecation_warnings()
2533 def test_value(self, raw=False):
2534 if raw:
2535 values = [self.RawValue(code, value)
2536 for code, value, _ in self.codes_values]
2537 else:
2538 values = [self.Value(code, value)
2539 for code, value, _ in self.codes_values]
2540
2541 for sv, cv in zip(values, self.codes_values):
2542 self.assertEqual(sv.value, cv[1])
2543
2544 proc = self.Process(target=self._test, args=(values,))
2545 proc.daemon = True
2546 proc.start()
2547 proc.join()
2548
2549 for sv, cv in zip(values, self.codes_values):
2550 self.assertEqual(sv.value, cv[2])
2551
2552 def test_rawvalue(self):
2553 self.test_value(raw=True)
2554
2555 def test_getobj_getlock(self):
2556 val1 = self.Value('i', 5)
2557 lock1 = val1.get_lock()
2558 obj1 = val1.get_obj()
2559
2560 val2 = self.Value('i', 5, lock=None)
2561 lock2 = val2.get_lock()
2562 obj2 = val2.get_obj()
2563
2564 lock = self.Lock()
2565 val3 = self.Value('i', 5, lock=lock)
2566 lock3 = val3.get_lock()
2567 obj3 = val3.get_obj()
2568 self.assertEqual(lock, lock3)

Callers

nothing calls this directly

Calls 1

latinFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…