You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

47 lines
896 B

package main
import (
"context"
"flag"
"log"
"os"
"os/signal"
"sync"
"time"
"github.com/hermeznetwork/hermez-node/test/proofserver"
)
func main() {
var addr string
flag.StringVar(&addr, "a", "localhost:3000", "listen address")
var provingDuration time.Duration
flag.DurationVar(&provingDuration, "d", 2*time.Second, "proving time duration") //nolint:gomnd
flag.Parse()
mock := proofserver.NewMock(addr, provingDuration)
ctx, cancel := context.WithCancel(context.Background())
var wg sync.WaitGroup
wg.Add(1)
go func() {
if err := mock.Run(ctx); err != nil {
log.Fatal(err)
}
wg.Done()
}()
stopCh := make(chan interface{})
// catch ^C to send the stop signal
ossig := make(chan os.Signal, 1)
signal.Notify(ossig, os.Interrupt)
go func() {
for sig := range ossig {
if sig == os.Interrupt {
stopCh <- nil
}
}
}()
<-stopCh
cancel()
wg.Wait()
}