History

termination_test.c : Add sanity test to check first output sample after reset.

Erik de Castro Lopo committed 21 years ago

Commit b2cc20f1 parent 4d82b201 file · +17 −8Browse files

Unified · Split

tests/termination_test.c+17−8
@@ -28,7 +28,7 @@ · 27 unmodified lines
2828 #define LONG_BUFFER_LEN ((1 << 16) - 20)
2929
3030 static void stream_test (int converter, double ratio) ;
31−static void term_test (int converter, double ratio) ;
31+static void init_term_test (int converter, double ratio) ;
3232
3333 static int next_block_length (int reset) ;
3434
@@ -44,7 +44,7 @@ main (void) · 9 unmodified lines
4444 puts ("\n Zero Order Hold interpolator:") ;
4545
4646 for (k = 0 ; k < ARRAY_LEN (src_ratios) ; k++)
47− term_test (SRC_ZERO_ORDER_HOLD, src_ratios [k]) ;
47+ init_term_test (SRC_ZERO_ORDER_HOLD, src_ratios [k]) ;
4848 puts ("") ;
4949 for (k = 0 ; k < ARRAY_LEN (src_ratios) ; k++)
5050 stream_test (SRC_ZERO_ORDER_HOLD, src_ratios [k]) ;
@@ -52,7 +52,7 @@ main (void) · 1 unmodified line
5252
5353 puts ("\n Linear interpolator:") ;
5454 for (k = 0 ; k < ARRAY_LEN (src_ratios) ; k++)
55− term_test (SRC_LINEAR, src_ratios [k]) ;
55+ init_term_test (SRC_LINEAR, src_ratios [k]) ;
5656 puts ("") ;
5757 for (k = 0 ; k < ARRAY_LEN (src_ratios) ; k++)
5858 stream_test (SRC_LINEAR, src_ratios [k]) ;
@@ -60,7 +60,7 @@ main (void) · 1 unmodified line
6060
6161 puts ("\n Sinc interpolator:") ;
6262 for (k = 0 ; k < ARRAY_LEN (src_ratios) ; k++)
63− term_test (SRC_SINC_FASTEST, src_ratios [k]) ;
63+ init_term_test (SRC_SINC_FASTEST, src_ratios [k]) ;
6464 puts ("") ;
6565 for (k = 0 ; k < ARRAY_LEN (src_ratios) ; k++)
6666 stream_test (SRC_SINC_FASTEST, src_ratios [k]) ;
@@ -71,14 +71,14 @@ main (void) · 4 unmodified lines
7171 } /* main */
7272
7373 static void
74−term_test (int converter, double src_ratio)
74+init_term_test (int converter, double src_ratio)
7575 { static float input [SHORT_BUFFER_LEN], output [SHORT_BUFFER_LEN] ;
7676
7777 SRC_DATA src_data ;
7878
79− int input_len, output_len, error, terminate ;
79+ int k, input_len, output_len, error, terminate ;
8080
81− printf ("\ttermination_test (SRC ratio = %7.4f) .......... ", src_ratio) ;
81+ printf ("\tinit_term_test (SRC ratio = %7.4f) .......... ", src_ratio) ;
8282 fflush (stdout) ;
8383
8484 /* Calculate maximun input and output lengths. */
@@ -94,6 +94,9 @@ term_test (int converter, double src_ratio) · 9 unmodified lines
9494 /* Reduce input_len by 10 so output is longer than necessary. */
9595 input_len -= 10 ;
9696
97+ for (k = 0 ; k < ARRAY_LEN (input) ; k++)
98+ input [k] = 1.0 ;
99+
97100 if (output_len > SHORT_BUFFER_LEN)
98101 { printf ("\n\nLine %d : output_len > SHORT_BUFFER_LEN\n\n", __LINE__) ;
99102 exit (1) ;
@@ -132,10 +135,16 @@ term_test (int converter, double src_ratio) · 32 unmodified lines
132135 exit (1) ;
133136 } ;
134137
138+ if (fabs (output [0]) < 0.1)
139+ { printf ("\n\nLine %d : First output sample is bad.\n\n", __LINE__) ;
140+ printf ("\toutput [0] == %f\n\n", output [0]) ;
141+ exit (1) ;
142+ }
143+
135144 puts ("ok") ;
136145
137146 return ;
138−} /* term_test */
147+} /* init_term_test */
139148
140149 static void
141150 stream_test (int converter, double src_ratio)

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t