github.com/DARA-Project/GoDist-Scheduler@v0.0.0-20201030134746-668de4acea0d/propchecker_dir/property_main.go (about)

     1  package main
     2  
     3  import (
     4      "github.com/DARA-Project/GoDist-Scheduler/propchecker"
     5      "os"
     6      "log"
     7      "time"
     8  )
     9  
    10  func main() {
    11      start := time.Now()
    12      checker, err := propchecker.NewChecker(os.Args[1])
    13      elapsed := time.Since(start)
    14      log.Printf("Parsing and Building took %s", elapsed)
    15      if err != nil {
    16          log.Fatal(err)
    17      }
    18  
    19      context := make(map[string]interface{})
    20      context["main.a"] = 15
    21      context["main.b"] = 20
    22  
    23      start = time.Now()
    24      result, failures, err := checker.Check(context)
    25      elapsed = time.Since(start)
    26      log.Printf("Checking Properties took %s\n", elapsed)
    27      log.Println("Num failures", failures)
    28      if err != nil {
    29          log.Fatal(err)
    30      }
    31      log.Println(result)
    32  
    33      context["main.b"] = 15
    34      for i := 0; i < 100; i++ {
    35          context["main.b"] = i
    36          start = time.Now()
    37          _, _, err := checker.Check(context)
    38          elapsed = time.Since(start)
    39          log.Printf("Checking properties took %s\n", elapsed)
    40          if err != nil {
    41              log.Fatal(err)
    42          }
    43      }
    44  }