Wideband autonomous SDR analysis engine forked from sdr-visual-suite
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

32 lines
1.0KB

  1. package gpudemod
  2. import "testing"
  3. func TestCPUOracleRunnerCleansUpDisappearedSignals(t *testing.T) {
  4. r := NewCPUOracleRunner(4000000)
  5. jobs1 := []StreamingExtractJob{
  6. {SignalID: 1, OffsetHz: 1000, Bandwidth: 20000, OutRate: 200000, NumTaps: 65, ConfigHash: 101},
  7. {SignalID: 2, OffsetHz: 2000, Bandwidth: 20000, OutRate: 200000, NumTaps: 65, ConfigHash: 102},
  8. }
  9. _, err := r.StreamingExtract(makeDeterministicIQ(4096), jobs1)
  10. if err != nil {
  11. t.Fatalf("unexpected error on first extract: %v", err)
  12. }
  13. if len(r.States) != 2 {
  14. t.Fatalf("expected 2 states, got %d", len(r.States))
  15. }
  16. jobs2 := []StreamingExtractJob{
  17. {SignalID: 2, OffsetHz: 2000, Bandwidth: 20000, OutRate: 200000, NumTaps: 65, ConfigHash: 102},
  18. }
  19. _, err = r.StreamingExtract(makeDeterministicIQ(2048), jobs2)
  20. if err != nil {
  21. t.Fatalf("unexpected error on second extract: %v", err)
  22. }
  23. if len(r.States) != 1 {
  24. t.Fatalf("expected 1 state after cleanup, got %d", len(r.States))
  25. }
  26. if _, ok := r.States[1]; ok {
  27. t.Fatalf("expected signal 1 state to be cleaned up")
  28. }
  29. }