Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upEasy issue: port tests from Go to Rust #201
Comments
Here are a couple more tests for the Go suite. I left a TODO and ignored the test for now since I can't figure out how to `drop` the sending half of one channel. Hopefully this is an easy fix or perhaps I didn't port it correctly. Part of #58
Add the FIFO test as part of #58
380: Port test from Go lang - goroutines r=stjepang a=itarato Porting the [goroutines](https://github.com/golang/go/blob/master/test/chan/goroutines.go) test from the Go lang repository. Part of #201 Any help would be appreciated. Co-authored-by: Peter Arato <it.arato@gmail.com>
380: Port test from Go lang - goroutines r=stjepang a=itarato Porting the [goroutines](https://github.com/golang/go/blob/master/test/chan/goroutines.go) test from the Go lang repository. Part of #201 Any help would be appreciated. Co-authored-by: Peter Arato <it.arato@gmail.com>
|
Hi, if this is an issue that still needs attention, I would like to help out. |
|
@byusti That'd be great, thank you :) You can look at the following file: https://github.com/crossbeam-rs/crossbeam/blob/master/crossbeam-channel/tests/golang.rs There's a bunch of TODOs there with links to tests written in Go that should be ported to Rust. |
In the following file we have already ported some tests from Go to Rust:
https://github.com/crossbeam-rs/crossbeam-channel/blob/master/tests/golang.rs
The idea is to blindly port all the tests for Go channels line by line, which will give us additional confidence in the correctness of crossbeam-channel.
In the test file, you can find stubs with links to the original tests written in Go and todos that need to be filled out.
Porting is a relatively straightforward task, so if you're looking for an approachable issue to tackle, this is the one! :) Also, you don't have to port everything at once - we'll do it incrementally in small pieces. Port as much code as you feel like!