-
Yorick Peterse authored
This adds tests for `std::process`, and removes `std::process.receive_if`. The `receive_if` method has always been a bit of a weird method. It was originally meant to allow some form of pattern matching on messages, but this turned out to be less useful than hoped due to the return type still being `Dynamic`. The `timeout` argument was also not used properly, and solving this would not be easily doable. This is because there was no single operation to apply the timeout to, instead the implementation of `receive_if` contained two `receive` calls, and some other logic. Handling all this would require us to keep track of the elapsed time ourselves, which is rather tricky should the process be stuck in a blocking receive. Instead of trying to come up with all kinds of crazy ideas, I have opted to simply remove `receive_if` for the time being. This makes some test runner code a bit more fragile (in theory), but I doubt this will pose any real problems any time soon.