ospf_test.go 644 B

12345678910111213141516171819202122
  1. package dynamicrouting
  2. import (
  3. "os"
  4. "path/filepath"
  5. "testing"
  6. )
  7. func TestOSPFStatusIsPerInstance(t *testing.T) {
  8. dir := t.TempDir()
  9. text := "#!/bin/sh\nprintf 'ospf_a OSPF master4 up 00:00\\nospf_b OSPF master4 down 00:00\\n'\n"
  10. if err := os.WriteFile(filepath.Join(dir, "birdc"), []byte(text), 0755); err != nil {
  11. t.Fatal(err)
  12. }
  13. t.Setenv("PATH", dir+":"+os.Getenv("PATH"))
  14. m := &Manager{}
  15. m.config.OSPFInstances = []OSPFInstance{{Name: "a"}, {Name: "b"}, {Name: "c"}}
  16. got := m.ListOSPFInstances()
  17. if !got[0].Running || got[1].Running || got[2].Running {
  18. t.Fatal("one OSPF instance marked other instances running", got)
  19. }
  20. }