github.com/rogpeppe/go-internal/testscript is absolutely wonderful. I've been using it successfully for several years and am the #4 contributor to the project. My only complaint would be that it sometimes takes a few months for changes to be merged and the release cycle is infrequent, meaning that I have to maintain my own workarounds for missing functionality longer than I would like. There also some long-term unresolved issues like the ability to "not care" about the exit code of a command <https://github.com/rogpeppe/go-internal/issues/93>, which has been open for nearly four years.
testscript is a fork from an earlier version of Go's src/cmd/go/internal/script, and since then script has been re-written to be more modular. rsc.io/script is a semi-official release of src/cmd/go/internal/script as it's from one of the original Go developers. This puts the future of testscript into doubt: will people switch to rsc.io/script or not? I've also raised this with the testscript developers <https://github.com/rogpeppe/go-internal/issues/238>. I can continue to use testscript, but if the feeling is that the world is moving to the more modern rsc.io/script, then I'm keen to contribute to rsc.io/script to make it useable by other projects. But first, I need to know how to contribute to rsc.io/script... On Thursday, March 7, 2024 at 3:18:51 PM UTC+1 Eli Bendersky wrote: > On Thu, Mar 7, 2024 at 5:44 AM twp...@gmail.com <twp...@gmail.com> wrote: > >> Thanks, but I'm already heavily invested in testscript with over 10K >> lines of scripts and a lot of custom configuration, and >> commander-cli/commander clearly lacks functionality I need. >> > > OOC, is there anything wrong with > github.com/rogpeppe/go-internal/testscript > <https://pkg.go.dev/github.com/rogpeppe/go-internal/testscript>? > > I've recently used it successfully on two diverse projects; it works well, > it still appears to be maintained, and has good documentation for > out-of-stdlib use cases. > > > > > > >> >> On Thursday, March 7, 2024 at 2:47:03 AM UTC+1 Ajay Kidave wrote: >> >>> I have had a good experience using >>> https://github.com/commander-cli/commander for testing CLI commands. It >>> uses a yaml file for test config. I generally avoid yaml but the commander >>> config format is easy to work with. Never used script, the state saving >>> between commands feature might be missing in commander-cli. >>> >>> On Wednesday, March 6, 2024 at 1:52:57 PM UTC-8 twp...@gmail.com wrote: >>> >>>> *rsc.io/script >>>> >>>> On Wednesday, March 6, 2024 at 10:46:23 PM UTC+1 twp...@gmail.com >>>> wrote: >>>> >>>>> Internally, Go has a very nice package for integration testing >>>>> <https://github.com/golang/go/tree/master/src/cmd/go/internal/script>. >>>>> >>>>> Roger Peppe <https://github.com/rogpeppe> has been doing a fantastic >>>>> service by making it public and maintaining it as a community project at >>>>> github.com/rogpeppe/go-internal/testscript >>>>> <https://pkg.go.dev/github.com/rogpeppe/go-internal/testscript>, and >>>>> Roger's package has been extremely valuable for my project >>>>> <https://github.com/twpayne/chezmoi> and many others. >>>>> >>>>> Over a quarter of a year ago, Russ Cox <https://research.swtch.com/> >>>>> made a semi-official release of the code >>>>> <https://pkg.go.dev/rsc.io/script> which includes several >>>>> improvements (e.g. better modularity), but also removing critical >>>>> functionality <https://github.com/rsc/script/issues/5> required to >>>>> make rsc.io/script usable by other projects. >>>>> >>>>> Appeals to the author about how to contribute >>>>> <https://github.com/rsc/script/issues/4> have been met with silence. >>>>> Fundamental issues like installation failures >>>>> <https://github.com/rsc/script/issues/3> have had no response. >>>>> >>>>> Does rsc.io/switch have a future? If so, how can we contribute? This >>>>> is a fantastically useful piece of software for the Go community and we >>>>> will all be better off if it succeeds. >>>>> >>>>> Regards, >>>>> Tom >>>>> >>>>> -- >> You received this message because you are subscribed to the Google Groups >> "golang-nuts" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to golang-nuts...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/golang-nuts/f6f92dd8-9033-43a0-9348-02c039c7fe90n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/golang-nuts/f6f92dd8-9033-43a0-9348-02c039c7fe90n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/964e1f1e-ac19-4930-bdbf-9494b2519c8en%40googlegroups.com.