diff --git a/ers/flatstore.go b/ers/flatstore.go index 69c0189a3..ce0b6696c 100644 --- a/ers/flatstore.go +++ b/ers/flatstore.go @@ -180,6 +180,7 @@ func (rdr *FlatstoreER) processFile(fPath, fName string) (err error) { utils.ERs, utils.ToJSON(pair), utils.ToJSON(pr), err.Error())) continue } + rdr.cache.Set(pr.OriginID, nil, nil) rdr.cache.Remove(pr.OriginID) } } @@ -295,6 +296,9 @@ func pairToRecord(part1, part2 *UnpairedRecord) ([]string, error) { } func (rdr *FlatstoreER) dumpToFile(itmID string, value interface{}) { + if value == nil { + return + } unpRcd := value.(*UnpairedRecord) dumpFilePath := path.Join(rdr.Config().ProcessedPath, unpRcd.FileName+utils.TmpSuffix) diff --git a/ers/flatstore_it_test.go b/ers/flatstore_it_test.go index 3e4694500..775085138 100644 --- a/ers/flatstore_it_test.go +++ b/ers/flatstore_it_test.go @@ -175,8 +175,12 @@ func testFlatstoreITHandleCdr1File(t *testing.T) { t.Errorf("Files in ersInDir: %+v", filesInDir) } filesOutDir, _ := ioutil.ReadDir("/tmp/flatstoreErs/out") + ids := []string{} + for _, fD := range filesOutDir { + ids = append(ids, fD.Name()) + } if len(filesOutDir) != 6 { - t.Errorf("Unexpected number of files in output directory: %+v", len(filesOutDir)) + t.Errorf("Unexpected number of files in output directory: %+v, %q", len(filesOutDir), ids) } ePartContent := "INVITE|2daec40c|548625ac|dd0c4c617a9919d29a6175cdff223a9p@0:0:0:0:0:0:0:0|200|OK|1436454408|*prepaid|1001|1002||3401:2069362475\n" if partContent, err := ioutil.ReadFile(path.Join("/tmp/flatstoreErs/out", "acc_3.log.tmp")); err != nil { diff --git a/services/analyzers_it_test.go b/services/analyzers_it_test.go index d867747c8..54e1e3987 100644 --- a/services/analyzers_it_test.go +++ b/services/analyzers_it_test.go @@ -20,6 +20,7 @@ along with this program. If not, see package services import ( + "os" "path" "sync" "testing" @@ -35,7 +36,9 @@ import ( func TestAnalyzerSReload(t *testing.T) { cfg := config.NewDefaultCGRConfig() - + if err := os.MkdirAll("/tmp/analyzers", 0700); err != nil { + t.Fatal(err) + } utils.Logger, _ = utils.Newlogger(utils.MetaSysLog, cfg.GeneralCfg().NodeID) utils.Logger.SetLogLevel(7) @@ -95,5 +98,7 @@ func TestAnalyzerSReload(t *testing.T) { shdChan.CloseOnce() time.Sleep(10 * time.Millisecond) - + if err := os.RemoveAll("/tmp/analyzers"); err != nil { + t.Fatal(err) + } } diff --git a/utils/logger_it_test.go b/utils/logger_it_test.go index 1457e9e0d..844b0ccdc 100644 --- a/utils/logger_it_test.go +++ b/utils/logger_it_test.go @@ -121,10 +121,11 @@ func testEmergencyLogger(t *testing.T) { if err := newLogger.Emerg("emergency_panic"); err != nil { t.Error(err) } - runtime.Gosched() if err := writer.Close(); err != nil { t.Error(err) } + runtime.Gosched() + time.Sleep(100 * time.Millisecond) if err := l.Close(); err != nil { t.Error(err) } @@ -156,10 +157,11 @@ func testAlertLogger(t *testing.T) { if err := newLogger.Alert("emergency_alert"); err != nil { t.Error(err) } - runtime.Gosched() if err := writer.Close(); err != nil { t.Error(err) } + runtime.Gosched() + time.Sleep(100 * time.Millisecond) if err := l.Close(); err != nil { t.Error(err) } @@ -189,10 +191,10 @@ func testCriticalLogger(t *testing.T) { if err := newLogger.Crit("critical_panic"); err != nil { t.Error(err) } - runtime.Gosched() if err := writer.Close(); err != nil { t.Error(err) } + runtime.Gosched() time.Sleep(100 * time.Millisecond) if err := l.Close(); err != nil { t.Error(err) @@ -223,10 +225,11 @@ func testErrorLogger(t *testing.T) { if err := newLogger.Err("error_panic"); err != nil { t.Error(err) } - runtime.Gosched() if err := writer.Close(); err != nil { t.Error(err) } + runtime.Gosched() + time.Sleep(100 * time.Millisecond) if err := l.Close(); err != nil { t.Error(err) } @@ -256,10 +259,11 @@ func testWarningLogger(t *testing.T) { if err := newLogger.Warning("warning_panic"); err != nil { t.Error(err) } - runtime.Gosched() if err := writer.Close(); err != nil { t.Error(err) } + runtime.Gosched() + time.Sleep(100 * time.Millisecond) if err := l.Close(); err != nil { t.Error(err) } @@ -289,11 +293,12 @@ func testNoticeLogger(t *testing.T) { if err := newLogger.Notice("notice_panic"); err != nil { t.Error(err) } - runtime.Gosched() if err := writer.Close(); err != nil { t.Error(err) } + runtime.Gosched() + time.Sleep(100 * time.Millisecond) if err := l.Close(); err != nil { t.Error(err) } @@ -323,11 +328,11 @@ func testInfoLogger(t *testing.T) { if err := newLogger.Info("info_panic"); err != nil { t.Error(err) } - runtime.Gosched() - if err := writer.Close(); err != nil { t.Error(err) } + runtime.Gosched() + time.Sleep(100 * time.Millisecond) if err := l.Close(); err != nil { t.Error(err) } @@ -357,11 +362,11 @@ func testDebugLogger(t *testing.T) { if err := newLogger.Debug("debug_panic"); err != nil { t.Error(err) } - runtime.Gosched() - if err := writer.Close(); err != nil { t.Error(err) } + runtime.Gosched() + time.Sleep(100 * time.Millisecond) if err := l.Close(); err != nil { t.Error(err) }