thank you On Saturday, May 6, 2023 at 4:32:57 PM UTC-4 Jason Phillips wrote:
> The testing package documentation mentions this case explicitly: > https://pkg.go.dev/testing#hdr-Main > > In short, you can define a main function (called TestMain) for your test > package and call flag.Parse from there. > > On Saturday, May 6, 2023 at 4:03:59 PM UTC-4 Robert Solomon wrote: > >> A related issue: >> Now that I can run go test and it's running, how do I define the flag. >> Currently, I define it in main(), and also the flag.Parse() is in main(). >> But main() is not run in go test, so I tried putting flag.BoolVar() and >> flag.Parse() in an init() function, but that doesn''t work either. >> >> How do I test the operations of the flag package when running go test? >> >> >> >> On Saturday, May 6, 2023 at 3:45:10 PM UTC-4 Robert Solomon wrote: >> >>> Looks like I didn't copy everything I have to the playground. But I do >>> have the correct imports and the top statement, package main. >>> >>> Thank you for answering, that's working. >>> >>> --rob solomon >>> >>> >>> On Saturday, May 6, 2023 at 11:24:11 AM UTC-4 Brian Candler wrote: >>> >>>> Your code is incomplete (it's missing all the imports), and "go test" >>>> doesn't run your main() function anyway, so it's not going to parse the >>>> flags. >>>> >>>> But otherwise I think it would be something like this: (single dash, >>>> -args not --args) >>>> >>>> go test . -v -args - -dots >>>> >>>> https://go.dev/play/p/HFJBO1j54iE >>>> >>>> On Saturday, 6 May 2023 at 14:02:35 UTC+1 Robert Solomon wrote: >>>> >>>>> >>>>> I have a routine that I want to test, that I have to pass a flag into >>>>> this test. This is on Win10 using Go 1.20.4. This code is here: >>>>> https://go.dev/play/p/p-YeGDk1KaM >>>>> >>>>> I want to pass a flag I call dots into the test code for this >>>>> function. I tried from within the correct directory >>>>> >>>>> go test --args -dots >>>>> or >>>>> go test . --args -dots >>>>> >>>>> Or from the top of my source tree where the go.mod file is : >>>>> >>>>> go test .\detox --args -dots >>>>> go test .\detox\... --args -dots >>>>> >>>>> I get an error message saying: >>>>> >>>>> flag provided but not defined: -dots. >>>>> >>>>> But that flag does show up when I run the program using the -h flag, >>>>> and it works when not in go test mode. >>>>> The full pgm is in the link above. >>>>> >>>>> What am I missing? >>>>> >>>>> --rob solomon >>>>> >>>>> PS: a stackoverflow question that's similar to this, from 2014, does >>>>> not work for me. >>>>> >>>>> -- 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/e225a448-88d6-4f31-b19f-69f4f71ef973n%40googlegroups.com.