a6b249cd52 
								
							
								 
							
						 
						
							
							
								
								Forkserver just can't seem to cut it...  
							
							
							
						 
						
							2020-01-26 23:17:06 -05:00  
				
					
						
							
							
								 
						
							
							
								5fd38d4618 
								
							
								 
							
						 
						
							
							
								
								Force `mp` backend if option is blank?  
							
							
							
						 
						
							2020-01-26 23:16:43 -05:00  
				
					
						
							
							
								 
						
							
							
								b4cb7439a1 
								
							
								 
							
						 
						
							
							
								
								Drop useless fork error branch  
							
							
							
						 
						
							2020-01-26 22:46:48 -05:00  
				
					
						
							
							
								 
						
							
							
								7c1bc1fce4 
								
							
								 
							
						 
						
							
							
								
								Make windows job names explicit  
							
							
							
						 
						
							2020-01-26 22:17:38 -05:00  
				
					
						
							
							
								 
						
							
							
								e18fec9b17 
								
							
								 
							
						 
						
							
							
								
								Always force mp backend on Windows  
							
							
							
						 
						
							2020-01-26 22:09:06 -05:00  
				
					
						
							
							
								 
						
							
							
								ecced3d09a 
								
							
								 
							
						 
						
							
							
								
								Allow choosing the spawn backend per test session  
							
							... 
							
							
							
							Add a `--spawn-backend` option which can be set to one of {'mp',
'trio_run_in_process'} which will either run the test suite using the
`multiprocessing` or `trio-run-in-process` backend respectively.
Currently trying to run both in the same session can result in hangs
seemingly due to a lack of cleanup of forkservers / resource trackers
from `multiprocessing` which cause broken pipe errors on occasion (no
idea on the details).
For `test_cancellation.py::test_nested_multierrors`, use less nesting
when mp is used since it breaks if we push it too hard with the
whole recursive subprocess spawning thing... 
							
						 
						
							2020-01-26 21:36:08 -05:00  
				
					
						
							
							
								 
						
							
							
								783fe53b06 
								
							
								 
							
						 
						
							
							
								
								Don't mix trip with multiprocessing for now  
							
							... 
							
							
							
							It seems that mixing the two backends in the test suite results in hangs
due to lingering forkservers and resource managers from
`multiprocessing`? Likely we'll need either 2 separate CI runs to work
or someway to be sure that these lingering servers are killed in between
tests. 
							
						 
						
							2020-01-24 00:55:40 -05:00  
				
					
						
							
							
								 
						
							
							
								bc259b7eab 
								
							
								 
							
						 
						
							
							
								
								Use trip as default in all tests for now  
							
							
							
						 
						
							2020-01-24 00:54:19 -05:00  
				
					
						
							
							
								 
						
							
							
								44996fe328 
								
							
								 
							
						 
						
							
							
								
								Add trip to start_method parametrizations  
							
							
							
						 
						
							2020-01-23 01:16:10 -05:00  
				
					
						
							
							
								 
						
							
							
								e1a55a6f4f 
								
							
								 
							
						 
						
							
							
								
								Importing happens once locally now so expect a local error  
							
							
							
						 
						
							2020-01-21 10:28:32 -05:00  
				
					
						
							
							
								 
						
							
							
								915bf17a9a 
								
							
								 
							
						 
						
							
							
								
								Add process tree depth control to nested multierror test  
							
							... 
							
							
							
							Another step toward having a complete test for #89 .
Subactor breadth still seems to cause the most havoc and is why I've
kept that value to just 2 for now. 
							
						 
						
							2019-11-25 12:05:15 -05:00  
				
					
						
							
							
								 
						
							
							
								2d4b6de4f4 
								
							
								 
							
						 
						
							
							
								
								Spawn even less suba-actors in Windows CI  
							
							... 
							
							
							
							Seems like we've probably got some greater limitations
with Windows and "nested" spawned sub-processes... 
							
						 
						
							2019-11-22 21:23:25 -05:00  
				
					
						
							
							
								 
						
							
							
								97df927714 
								
							
								 
							
						 
						
							
							
								
								Run first example test under both start methods  
							
							
							
						 
						
							2019-10-30 00:31:28 -04:00  
				
					
						
							
							
								 
						
							
							
								6d9ac53bd5 
								
							
								 
							
						 
						
							
							
								
								Add nested multierror testing  
							
							... 
							
							
							
							Add a test to verify that `trio.MultiError`s are properly propagated up
a simple actor nursery tree. We don't have any exception marshalling
between processes (yet) so we can't validate much more then a simple
2-depth tree. This satisfies the final bullet in #43 .
Note I've limited the number of subactors per layer to around 5 since
any more then this seems to break the `multiprocessing` forkserver;
zombie subprocesses seem to be blocking teardown somehow...
Also add a single depth fast fail test just to verify that it's the
nested spawning that triggers this forkserver bug. 
							
						 
						
							2019-10-30 00:30:40 -04:00  
				
					
						
							
							
								 
						
							
							
								d406383cd3 
								
							
								 
							
						 
						
							
							
								
								Add a preliminary nested subactor `MultiError` test  
							
							... 
							
							
							
							This exemplifies the undefined behaviour in #88  and begins to test for
the last bullet in #43 . 
							
						 
						
							2019-10-26 15:04:13 -04:00  
				
					
						
							
							
								 
						
							
							
								6dbb3f7ae6 
								
							
								 
							
						 
						
							
							
								
								Extend cancellation tests  
							
							... 
							
							
							
							In an effort towards #43 . This completes the first major bullet's worth of tests
described in that issue. 
							
						 
						
							2019-10-26 09:55:07 -04:00  
				
					
						
							
							
								 
						
							
							
								6ec9752f46 
								
							
								 
							
						 
						
							
							
								
								Slight slowdown on windows / py3.8?  
							
							
							
						 
						
							2019-10-16 11:02:18 -04:00  
				
					
						
							
							
								 
						
							
							
								7e8b7091cb 
								
							
								 
							
						 
						
							
							
								
								Check for proper SIGINT return code  
							
							... 
							
							
							
							They finally got https://bugs.python.org/issue1054041  in Python 3.8 
							
						 
						
							2019-10-15 23:22:48 -04:00  
				
					
						
							
							
								 
						
							
							
								5760bb1b7c 
								
							
								 
							
						 
						
							
							
								
								Adjust test timeout/sync handling for windows  
							
							
							
						 
						
							2019-03-31 15:34:44 -04:00  
				
					
						
							
							
								 
						
							
							
								b965d20cba 
								
							
								 
							
						 
						
							
							
								
								Add stream func tests  
							
							
							
						 
						
							2019-03-29 19:10:56 -04:00  
				
					
						
							
							
								 
						
							
							
								faa1f373b5 
								
							
								 
							
						 
						
							
							
								
								Add subactor loglevel propagation test  
							
							... 
							
							
							
							Can't seem to get the `capfd` fixture to capture subprocess logging to
stderr even though the console report shows the log message as being
captured? Skipping the test on the forkserver method for now. 
							
						 
						
							2019-03-23 23:27:32 -04:00  
				
					
						
							
							
								 
						
							
							
								5fc51fd745 
								
							
								 
							
						 
						
							
							
								
								multi_program signal for windows missing SIGKILL, SIGINT  
							
							
							
						 
						
							2019-03-13 21:32:45 +11:00  
				
					
						
							
							
								 
						
							
							
								2138d55a60 
								
							
								 
							
						 
						
							
							
								
								increased trio.sleep time for other actors to spawn  
							
							
							
						 
						
							2019-03-13 21:32:45 +11:00  
				
					
						
							
							
								 
						
							
							
								efffca371a 
								
							
								 
							
						 
						
							
							
								
								pytest_generate_tests remove `fork` only if it's in list  
							
							
							
						 
						
							2019-03-13 21:32:45 +11:00  
				
					
						
							
							
								 
						
							
							
								9a780485dc 
								
							
								 
							
						 
						
							
							
								
								Use "clean channel shutdown" in streaming example  
							
							... 
							
							
							
							Resolves  #65  
						
							2019-03-10 22:08:50 -04:00  
				
					
						
							
							
								 
						
							
							
								b70f4eafcb 
								
							
								 
							
						 
						
							
							
								
								Flip tests to use `start_method` kwarg  
							
							
							
						 
						
							2019-03-08 20:06:16 -05:00  
				
					
						
							
							
								 
						
							
							
								d6ca722bcc 
								
							
								 
							
						 
						
							
							
								
								Sprinkle `spawn_method` fixture throughout tests  
							
							
							
						 
						
							2019-03-06 00:37:02 -05:00  
				
					
						
							
							
								 
						
							
							
								483ae42a46 
								
							
								 
							
						 
						
							
							
								
								Add a `spawn_method` dynamic fixture  
							
							
							
						 
						
							2019-03-06 00:36:37 -05:00  
				
					
						
							
							
								 
						
							
							
								78ddd33e3a 
								
							
								 
							
						 
						
							
							
								
								Move to `trio.CancelScope`  
							
							
							
						 
						
							2019-02-16 14:25:06 -05:00  
				
					
						
							
							
								 
						
							
							
								85a0700716 
								
							
								 
							
						 
						
							
							
								
								Add back line that breaks with async gens  
							
							
							
						 
						
							2019-02-15 22:10:55 -05:00  
				
					
						
							
							
								 
						
							
							
								51f082fff7 
								
							
								 
							
						 
						
							
							
								
								Use mem chan in streaming tests  
							
							
							
						 
						
							2019-02-15 17:10:57 -05:00  
				
					
						
							
							
								 
						
							
							
								41c202db68 
								
							
								 
							
						 
						
							
							
								
								Add a multi-task subscriber test  
							
							... 
							
							
							
							In combination with `.aclose()`-ing the async gen instance returned from
`Portal.run()` this demonstrates the python bug:
https://bugs.python.org/issue32526 
I've commented out the line that triggers the bug for now since this
case provides motivation for adding our own `trio.abc.ReceiveMemoryChannel`
implementation to be used instead of async gens directly (returned from
`Portal.run()`) since the latter is **not** task safe. 
							
						 
						
							2019-02-15 17:04:41 -05:00  
				
					
						
							
							
								 
						
							
							
								b0b35284f4 
								
							
								 
							
						 
						
							
							
								
								Add call/decorate time type checking tests  
							
							
							
						 
						
							2019-01-25 00:13:13 -05:00  
				
					
						
							
							
								 
						
							
							
								2b1e8773bb 
								
							
								 
							
						 
						
							
							
								
								Verify subs topics at each step  
							
							
							
						 
						
							2019-01-23 22:35:04 -05:00  
				
					
						
							
							
								 
						
							
							
								36ee6695fb 
								
							
								 
							
						 
						
							
							
								
								Add initial pubsub test  
							
							
							
						 
						
							2019-01-21 12:31:03 -05:00  
				
					
						
							
							
								 
						
							
							
								d2f0537850 
								
							
								 
							
						 
						
							
							
								
								Add tests for import-time failures  
							
							
							
						 
						
							2019-01-12 17:56:39 -05:00  
				
					
						
							
							
								 
						
							
							
								fe4a39550d 
								
							
								 
							
						 
						
							
							
								
								Add remote module error handling tests  
							
							
							
						 
						
							2019-01-01 16:12:34 -05:00  
				
					
						
							
							
								 
						
							
							
								47b531a43a 
								
							
								 
							
						 
						
							
							
								
								Add test to verify remote task cancellation  
							
							
							
						 
						
							2018-12-10 23:13:58 -05:00  
				
					
						
							
							
								 
						
							
							
								512a2f25a2 
								
							
								 
							
						 
						
							
							
								
								Expose `tractor_test` in the same way as `trio`  
							
							
							
						 
						
							2018-11-26 11:26:04 -05:00  
				
					
						
							
							
								 
						
							
							
								0879150399 
								
							
								 
							
						 
						
							
							
								
								Move `tractor_test` to new module  
							
							
							
						 
						
							2018-11-26 11:20:53 -05:00  
				
					
						
							
							
								 
						
							
							
								23c7519fec 
								
							
								 
							
						 
						
							
							
								
								Jeeze 3.7.1 got even faster?  
							
							
							
						 
						
							2018-11-22 14:25:31 -05:00  
				
					
						
							
							
								 
						
							
							
								a482681f9c 
								
							
								 
							
						 
						
							
							
								
								Leverage `pytest.raises()` better; fix a bunch of docs  
							
							
							
						 
						
							2018-11-22 11:43:04 -05:00  
				
					
						
							
							
								 
						
							
							
								3e74cc6f11 
								
							
								 
							
						 
						
							
							
								
								Verify nested boxed errors  
							
							
							
						 
						
							2018-11-19 16:53:21 -05:00  
				
					
						
							
							
								 
						
							
							
								7a2b7d9d14 
								
							
								 
							
						 
						
							
							
								
								Delay tweak for py3.7.1  
							
							
							
						 
						
							2018-11-19 14:17:01 -05:00  
				
					
						
							
							
								 
						
							
							
								9102c48810 
								
							
								 
							
						 
						
							
							
								
								Add multierror cancellation tests  
							
							
							
						 
						
							2018-11-19 14:16:42 -05:00  
				
					
						
							
							
								 
						
							
							
								aa32f42715 
								
							
								 
							
						 
						
							
							
								
								Avoid hanging multi-prog test when SIGINT fails  
							
							
							
						 
						
							2018-11-09 01:36:45 -05:00  
				
					
						
							
							
								 
						
							
							
								034146f2b1 
								
							
								 
							
						 
						
							
							
								
								Verify arbiter self registration  
							
							
							
						 
						
							2018-09-21 00:32:23 -04:00  
				
					
						
							
							
								 
						
							
							
								7dd91d0684 
								
							
								 
							
						 
						
							
							
								
								Wait longer for arbiter-daemon to spawn on py3.6  
							
							
							
						 
						
							2018-09-17 09:17:11 -04:00  
				
					
						
							
							
								 
						
							
							
								827a6c6014 
								
							
								 
							
						 
						
							
							
								
								Make `rpc_modules` a positional arg to `tractor.run_daemon()`  
							
							
							
						 
						
							2018-09-10 22:31:23 -04:00  
				
					
						
							
							
								 
						
							
							
								037c4c3797 
								
							
								 
							
						 
						
							
							
								
								Comment tweak  
							
							
							
						 
						
							2018-09-10 15:28:19 -04:00  
				
					
						
							
							
								 
						
							
							
								d12136d44d 
								
							
								 
							
						 
						
							
							
								
								Add some mult-program tests  
							
							... 
							
							
							
							Run the arbiter-actor in a separate program and do some basic tests to
make sure everything works - particularly, registration and
cancellation. 
							
						 
						
							2018-09-08 09:44:29 -04:00  
				
					
						
							
							
								 
						
							
							
								0ca668453c 
								
							
								 
							
						 
						
							
							
								
								Running without a main func is a type error  
							
							
							
						 
						
							2018-09-05 18:13:23 -04:00  
				
					
						
							
							
								 
						
							
							
								a998a5e415 
								
							
								 
							
						 
						
							
							
								
								Forgot to remove spawn tests from test_local.py  
							
							
							
						 
						
							2018-09-04 22:17:02 -04:00  
				
					
						
							
							
								 
						
							
							
								c2457f7cce 
								
							
								 
							
						 
						
							
							
								
								Move basic spawning tests to separate module  
							
							
							
						 
						
							2018-09-02 22:07:32 -04:00  
				
					
						
							
							
								 
						
							
							
								18e101d38e 
								
							
								 
							
						 
						
							
							
								
								Move streaming tests into separate module  
							
							
							
						 
						
							2018-09-02 21:58:42 -04:00  
				
					
						
							
							
								 
						
							
							
								51076ebb5c 
								
							
								 
							
						 
						
							
							
								
								Break cancellation tests into new module  
							
							
							
						 
						
							2018-09-02 11:51:58 -04:00  
				
					
						
							
							
								 
						
							
							
								3dcf16c43d 
								
							
								 
							
						 
						
							
							
								
								Min cancel delay >= 0  
							
							
							
						 
						
							2018-08-31 20:38:34 -04:00  
				
					
						
							
							
								 
						
							
							
								a64c2a70bd 
								
							
								 
							
						 
						
							
							
								
								Base cancel delays on speed of a non-cancelled run  
							
							
							
						 
						
							2018-08-19 16:08:02 -04:00  
				
					
						
							
							
								 
						
							
							
								8c110c79fb 
								
							
								 
							
						 
						
							
							
								
								A teensy more lax on the speed test  
							
							
							
						 
						
							2018-08-17 16:55:00 -04:00  
				
					
						
							
							
								 
						
							
							
								ea60a3dff9 
								
							
								 
							
						 
						
							
							
								
								Test the `wait_for_actor()` api  
							
							
							
						 
						
							2018-08-13 00:06:22 -04:00  
				
					
						
							
							
								 
						
							
							
								99e2cf9a13 
								
							
								 
							
						 
						
							
							
								
								Draft v2 after new `run_in_actor()` API  
							
							... 
							
							
							
							Revamp the docs after some feedback from @vodik.
See #24  #25  for additional details. 
							
						 
						
							2018-08-07 18:05:35 -04:00  
				
					
						
							
							
								 
						
							
							
								a7315f91ee 
								
							
								 
							
						 
						
							
							
								
								Document per-func actors for clarity  
							
							
							
						 
						
							2018-08-07 17:59:27 -04:00  
				
					
						
							
							
								 
						
							
							
								e4ef973be9 
								
							
								 
							
						 
						
							
							
								
								Add discovery testing  
							
							... 
							
							
							
							Add a new test to verify actors register with their `.uid` tuple as
per #7 . Break off relevant "discovery" tests into a new test module. 
							
						 
						
							2018-08-07 14:30:25 -04:00  
				
					
						
							
							
								 
						
							
							
								db08dbad3b 
								
							
								 
							
						 
						
							
							
								
								Streaming is too fast, cancel sooner  
							
							
							
						 
						
							2018-08-02 16:33:42 -04:00  
				
					
						
							
							
								 
						
							
							
								dadea87451 
								
							
								 
							
						 
						
							
							
								
								Update test to new api  
							
							
							
						 
						
							2018-08-02 15:27:09 -04:00  
				
					
						
							
							
								 
						
							
							
								64cbb922dc 
								
							
								 
							
						 
						
							
							
								
								Reorg everything into private modules  
							
							
							
						 
						
							2018-07-14 16:09:05 -04:00  
				
					
						
							
							
								 
						
							
							
								a26d6f831f 
								
							
								 
							
						 
						
							
							
								
								Add loglevel setting to test suite  
							
							
							
						 
						
							2018-07-11 22:24:19 -04:00  
				
					
						
							
							
								 
						
							
							
								590267ded2 
								
							
								 
							
						 
						
							
							
								
								Add a simpler cancel test  
							
							
							
						 
						
							2018-07-11 22:24:19 -04:00  
				
					
						
							
							
								 
						
							
							
								d9aa6119e1 
								
							
								 
							
						 
						
							
							
								
								Set cancelled state in cancel method  
							
							
							
						 
						
							2018-07-11 22:24:14 -04:00  
				
					
						
							
							
								 
						
							
							
								bb9309bdf5 
								
							
								 
							
						 
						
							
							
								
								Add a cancellation strategy test  
							
							
							
						 
						
							2018-07-11 22:20:13 -04:00  
				
					
						
							
							
								 
						
							
							
								bb293905b9 
								
							
								 
							
						 
						
							
							
								
								Verify expected non-result under cancellation  
							
							
							
						 
						
							2018-07-11 22:20:13 -04:00  
				
					
						
							
							
								 
						
							
							
								1854471992 
								
							
								 
							
						 
						
							
							
								
								Add tests which verify the readme is correct  
							
							... 
							
							
							
							- steal from `trio` and add a `tractor_test` decorator
- use a random arbiter port to avoid conflicts with locally running
  systems
- add all the (obviously) hilarious readme tests
- add a complex cancellation test which works with
  `trio.move_on_after()` 
							
						 
						
							2018-07-11 22:20:13 -04:00  
				
					
						
							
							
								 
						
							
							
								d94be22ef2 
								
							
								 
							
						 
						
							
							
								
								Add a "show me the code" test from the readme  
							
							
							
						 
						
							2018-07-11 22:20:13 -04:00  
				
					
						
							
							
								 
						
							
							
								10417303aa 
								
							
								 
							
						 
						
							
							
								
								Get tests working again  
							
							... 
							
							
							
							Remove all the `piker` stuff and add some further checks including:
- main task result is returned correctly
- remote errors are raised locally
- remote async generator yields values locally 
							
						 
						
							2018-07-11 22:20:13 -04:00  
				
					
						
							
							
								 
						
							
							
								a2980d88c5 
								
							
								 
							
						 
						
							
							
								
								Fix import, but tests don't all work yet  
							
							
							
						 
						
							2018-07-05 19:49:21 -04:00  
				
					
						
							
							
								 
						
							
							
								f6080522f9 
								
							
								 
							
						 
						
							
							
								
								`tractor.run()` is required for testing now  
							
							
							
						 
						
							2018-07-05 16:21:55 -04:00  
				
					
						
							
							
								 
						
							
							
								82f22b76e5 
								
							
								 
							
						 
						
							
							
								
								Arbiter now supports non-empty statespace  
							
							
							
						 
						
							2018-07-05 16:21:55 -04:00  
				
					
						
							
							
								 
						
							
							
								97865a192a 
								
							
								 
							
						 
						
							
							
								
								Add an actor spawning test  
							
							... 
							
							
							
							Test that the actor nursery API and ``tractor.run`` entrypoint work when
the sub-actor's main task is all that is run (i.e. no rpc requests). 
							
						 
						
							2018-07-05 16:21:55 -04:00  
				
					
						
							
							
								 
						
							
							
								2e9cbec93c 
								
							
								 
							
						 
						
							
							
								
								Add a basic `tractor.run()` test  
							
							
							
						 
						
							2018-07-05 16:21:55 -04:00  
				
					
						
							
							
								 
						
							
							
								03c57ceece 
								
							
								 
							
						 
						
							
							
								
								Add an initial `tractor` price streaming test  
							
							
							
						 
						
							2018-07-05 16:21:55 -04:00