00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049 #include <stdlib.h>
00050 #include <stdio.h>
00051 #include <string.h>
00052
00053 #include <lal/LALConfig.h>
00054
00055 #ifdef HAVE_UNISTD_H
00056 #include <unistd.h>
00057 #endif
00058
00059 #ifdef HAVE_GETOPT_H
00060 #include <getopt.h>
00061 #endif
00062
00063 #include <lal/LALStdlib.h>
00064 #include <lal/SeqFactories.h>
00065
00066 #define CODES_(x) #x
00067 #define CODES(x) CODES_(x)
00068
00069 NRCSID( MAIN, "$Id: VectorSequenceFactoriesTest.m4,v 1.7 2001/03/04 22:37:11 jolien Exp $" );
00070
00071 extern char *optarg;
00072 extern int optind;
00073
00074 int lalDebugLevel = 0;
00075 int verbose = 0;
00076
00077 static void
00078 Usage (const char *program, int exitflag);
00079
00080 static void
00081 ParseOptions (int argc, char *argv[]);
00082
00083 static void
00084 TestStatus (LALStatus *status, const char *expectedCodes, int exitCode);
00085
00086 static void
00087 ClearStatus (LALStatus *status);
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108 static void ZVectorSequenceFactoriesTest ( void )
00109 {
00110 CreateVectorSequenceIn input = { 2, 8 };
00111 CreateVectorSequenceIn badslen = { 0, 8 };
00112 CreateVectorSequenceIn badvlen = { 2, 0 };
00113 static LALStatus status;
00114 static COMPLEX16VectorSequence *sequence;
00115 static COMPLEX16VectorSequence sstore;
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125 LALZCreateVectorSequence ( &status, &sequence, &input );
00126 TestStatus( &status, CODES( 0 ), 1 );
00127
00128 memset( sequence->data, 0, input.length*input.vectorLength*sizeof( COMPLEX16 ) );
00129
00130 LALZDestroyVectorSequence ( &status, &sequence );
00131 TestStatus( &status, CODES( 0 ), 1 );
00132
00133 LALCheckMemoryLeaks();
00134
00135
00136
00137
00138
00139
00140
00141
00142 #ifndef LAL_NDEBUG
00143
00144 if ( ! lalNoDebug )
00145 {
00146 LALZCreateVectorSequence ( &status, &sequence, &badslen );
00147 TestStatus( &status, CODES( SEQFACTORIESH_ESLENGTH ), 1 );
00148
00149 LALZCreateVectorSequence ( &status, &sequence, &badvlen );
00150 TestStatus( &status, CODES( SEQFACTORIESH_EVLENGTH ), 1 );
00151
00152 LALZCreateVectorSequence ( &status, &sequence, NULL );
00153 TestStatus( &status, CODES( SEQFACTORIESH_EINPTR ), 1 );
00154
00155 LALZDestroyVectorSequence ( &status, NULL );
00156 TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00157
00158 LALZCreateVectorSequence ( &status, NULL, &input );
00159 TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00160
00161 LALZDestroyVectorSequence ( &status, &sequence );
00162 TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00163
00164 sequence = &sstore;
00165 LALZCreateVectorSequence ( &status, &sequence, &input );
00166 TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00167
00168 LALZDestroyVectorSequence ( &status, &sequence );
00169 TestStatus( &status, CODES( SEQFACTORIESH_EDPTR ), 1 );
00170 }
00171
00172 #else
00173 badslen.length = 0;
00174 badvlen.vectorLength = 0;
00175 sequence = &sstore;
00176 #endif
00177
00178 LALCheckMemoryLeaks();
00179 printf( "PASS: tests of LALZCreateVectorSequence and LALZDestroyVectorSequence \n" );
00180
00181 return;
00182 }
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204 static void CVectorSequenceFactoriesTest ( void )
00205 {
00206 CreateVectorSequenceIn input = { 2, 8 };
00207 CreateVectorSequenceIn badslen = { 0, 8 };
00208 CreateVectorSequenceIn badvlen = { 2, 0 };
00209 static LALStatus status;
00210 static COMPLEX8VectorSequence *sequence;
00211 static COMPLEX8VectorSequence sstore;
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221 LALCCreateVectorSequence ( &status, &sequence, &input );
00222 TestStatus( &status, CODES( 0 ), 1 );
00223
00224 memset( sequence->data, 0, input.length*input.vectorLength*sizeof( COMPLEX8 ) );
00225
00226 LALCDestroyVectorSequence ( &status, &sequence );
00227 TestStatus( &status, CODES( 0 ), 1 );
00228
00229 LALCheckMemoryLeaks();
00230
00231
00232
00233
00234
00235
00236
00237
00238 #ifndef LAL_NDEBUG
00239
00240 if ( ! lalNoDebug )
00241 {
00242 LALCCreateVectorSequence ( &status, &sequence, &badslen );
00243 TestStatus( &status, CODES( SEQFACTORIESH_ESLENGTH ), 1 );
00244
00245 LALCCreateVectorSequence ( &status, &sequence, &badvlen );
00246 TestStatus( &status, CODES( SEQFACTORIESH_EVLENGTH ), 1 );
00247
00248 LALCCreateVectorSequence ( &status, &sequence, NULL );
00249 TestStatus( &status, CODES( SEQFACTORIESH_EINPTR ), 1 );
00250
00251 LALCDestroyVectorSequence ( &status, NULL );
00252 TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00253
00254 LALCCreateVectorSequence ( &status, NULL, &input );
00255 TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00256
00257 LALCDestroyVectorSequence ( &status, &sequence );
00258 TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00259
00260 sequence = &sstore;
00261 LALCCreateVectorSequence ( &status, &sequence, &input );
00262 TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00263
00264 LALCDestroyVectorSequence ( &status, &sequence );
00265 TestStatus( &status, CODES( SEQFACTORIESH_EDPTR ), 1 );
00266 }
00267
00268 #else
00269 badslen.length = 0;
00270 badvlen.vectorLength = 0;
00271 sequence = &sstore;
00272 #endif
00273
00274 LALCheckMemoryLeaks();
00275 printf( "PASS: tests of LALCCreateVectorSequence and LALCDestroyVectorSequence \n" );
00276
00277 return;
00278 }
00279
00280
00281
00282
00283
00284
00285
00286
00287
00288
00289
00290
00291
00292
00293
00294
00295
00296
00297
00298
00299
00300 static void DVectorSequenceFactoriesTest ( void )
00301 {
00302 CreateVectorSequenceIn input = { 2, 8 };
00303 CreateVectorSequenceIn badslen = { 0, 8 };
00304 CreateVectorSequenceIn badvlen = { 2, 0 };
00305 static LALStatus status;
00306 static REAL8VectorSequence *sequence;
00307 static REAL8VectorSequence sstore;
00308
00309
00310
00311
00312
00313
00314
00315
00316
00317 LALDCreateVectorSequence ( &status, &sequence, &input );
00318 TestStatus( &status, CODES( 0 ), 1 );
00319
00320 memset( sequence->data, 0, input.length*input.vectorLength*sizeof( REAL8 ) );
00321
00322 LALDDestroyVectorSequence ( &status, &sequence );
00323 TestStatus( &status, CODES( 0 ), 1 );
00324
00325 LALCheckMemoryLeaks();
00326
00327
00328
00329
00330
00331
00332
00333
00334 #ifndef LAL_NDEBUG
00335
00336 if ( ! lalNoDebug )
00337 {
00338 LALDCreateVectorSequence ( &status, &sequence, &badslen );
00339 TestStatus( &status, CODES( SEQFACTORIESH_ESLENGTH ), 1 );
00340
00341 LALDCreateVectorSequence ( &status, &sequence, &badvlen );
00342 TestStatus( &status, CODES( SEQFACTORIESH_EVLENGTH ), 1 );
00343
00344 LALDCreateVectorSequence ( &status, &sequence, NULL );
00345 TestStatus( &status, CODES( SEQFACTORIESH_EINPTR ), 1 );
00346
00347 LALDDestroyVectorSequence ( &status, NULL );
00348 TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00349
00350 LALDCreateVectorSequence ( &status, NULL, &input );
00351 TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00352
00353 LALDDestroyVectorSequence ( &status, &sequence );
00354 TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00355
00356 sequence = &sstore;
00357 LALDCreateVectorSequence ( &status, &sequence, &input );
00358 TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00359
00360 LALDDestroyVectorSequence ( &status, &sequence );
00361 TestStatus( &status, CODES( SEQFACTORIESH_EDPTR ), 1 );
00362 }
00363
00364 #else
00365 badslen.length = 0;
00366 badvlen.vectorLength = 0;
00367 sequence = &sstore;
00368 #endif
00369
00370 LALCheckMemoryLeaks();
00371 printf( "PASS: tests of LALDCreateVectorSequence and LALDDestroyVectorSequence \n" );
00372
00373 return;
00374 }
00375
00376
00377
00378
00379
00380
00381
00382
00383
00384
00385
00386
00387
00388
00389
00390
00391
00392
00393
00394
00395
00396 static void SVectorSequenceFactoriesTest ( void )
00397 {
00398 CreateVectorSequenceIn input = { 2, 8 };
00399 CreateVectorSequenceIn badslen = { 0, 8 };
00400 CreateVectorSequenceIn badvlen = { 2, 0 };
00401 static LALStatus status;
00402 static REAL4VectorSequence *sequence;
00403 static REAL4VectorSequence sstore;
00404
00405
00406
00407
00408
00409
00410
00411
00412
00413 LALSCreateVectorSequence ( &status, &sequence, &input );
00414 TestStatus( &status, CODES( 0 ), 1 );
00415
00416 memset( sequence->data, 0, input.length*input.vectorLength*sizeof( REAL4 ) );
00417
00418 LALSDestroyVectorSequence ( &status, &sequence );
00419 TestStatus( &status, CODES( 0 ), 1 );
00420
00421 LALCheckMemoryLeaks();
00422
00423
00424
00425
00426
00427
00428
00429
00430 #ifndef LAL_NDEBUG
00431
00432 if ( ! lalNoDebug )
00433 {
00434 LALSCreateVectorSequence ( &status, &sequence, &badslen );
00435 TestStatus( &status, CODES( SEQFACTORIESH_ESLENGTH ), 1 );
00436
00437 LALSCreateVectorSequence ( &status, &sequence, &badvlen );
00438 TestStatus( &status, CODES( SEQFACTORIESH_EVLENGTH ), 1 );
00439
00440 LALSCreateVectorSequence ( &status, &sequence, NULL );
00441 TestStatus( &status, CODES( SEQFACTORIESH_EINPTR ), 1 );
00442
00443 LALSDestroyVectorSequence ( &status, NULL );
00444 TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00445
00446 LALSCreateVectorSequence ( &status, NULL, &input );
00447 TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00448
00449 LALSDestroyVectorSequence ( &status, &sequence );
00450 TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00451
00452 sequence = &sstore;
00453 LALSCreateVectorSequence ( &status, &sequence, &input );
00454 TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00455
00456 LALSDestroyVectorSequence ( &status, &sequence );
00457 TestStatus( &status, CODES( SEQFACTORIESH_EDPTR ), 1 );
00458 }
00459
00460 #else
00461 badslen.length = 0;
00462 badvlen.vectorLength = 0;
00463 sequence = &sstore;
00464 #endif
00465
00466 LALCheckMemoryLeaks();
00467 printf( "PASS: tests of LALSCreateVectorSequence and LALSDestroyVectorSequence \n" );
00468
00469 return;
00470 }
00471
00472
00473
00474
00475
00476
00477
00478
00479
00480
00481
00482
00483
00484
00485
00486
00487
00488
00489
00490
00491
00492 static void I2VectorSequenceFactoriesTest ( void )
00493 {
00494 CreateVectorSequenceIn input = { 2, 8 };
00495 CreateVectorSequenceIn badslen = { 0, 8 };
00496 CreateVectorSequenceIn badvlen = { 2, 0 };
00497 static LALStatus status;
00498 static INT2VectorSequence *sequence;
00499 static INT2VectorSequence sstore;
00500
00501
00502
00503
00504
00505
00506
00507
00508
00509 LALI2CreateVectorSequence ( &status, &sequence, &input );
00510 TestStatus( &status, CODES( 0 ), 1 );
00511
00512 memset( sequence->data, 0, input.length*input.vectorLength*sizeof( INT2 ) );
00513
00514 LALI2DestroyVectorSequence ( &status, &sequence );
00515 TestStatus( &status, CODES( 0 ), 1 );
00516
00517 LALCheckMemoryLeaks();
00518
00519
00520
00521
00522
00523
00524
00525
00526 #ifndef LAL_NDEBUG
00527
00528 if ( ! lalNoDebug )
00529 {
00530 LALI2CreateVectorSequence ( &status, &sequence, &badslen );
00531 TestStatus( &status, CODES( SEQFACTORIESH_ESLENGTH ), 1 );
00532
00533 LALI2CreateVectorSequence ( &status, &sequence, &badvlen );
00534 TestStatus( &status, CODES( SEQFACTORIESH_EVLENGTH ), 1 );
00535
00536 LALI2CreateVectorSequence ( &status, &sequence, NULL );
00537 TestStatus( &status, CODES( SEQFACTORIESH_EINPTR ), 1 );
00538
00539 LALI2DestroyVectorSequence ( &status, NULL );
00540 TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00541
00542 LALI2CreateVectorSequence ( &status, NULL, &input );
00543 TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00544
00545 LALI2DestroyVectorSequence ( &status, &sequence );
00546 TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00547
00548 sequence = &sstore;
00549 LALI2CreateVectorSequence ( &status, &sequence, &input );
00550 TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00551
00552 LALI2DestroyVectorSequence ( &status, &sequence );
00553 TestStatus( &status, CODES( SEQFACTORIESH_EDPTR ), 1 );
00554 }
00555
00556 #else
00557 badslen.length = 0;
00558 badvlen.vectorLength = 0;
00559 sequence = &sstore;
00560 #endif
00561
00562 LALCheckMemoryLeaks();
00563 printf( "PASS: tests of LALI2CreateVectorSequence and LALI2DestroyVectorSequence \n" );
00564
00565 return;
00566 }
00567
00568
00569
00570
00571
00572
00573
00574
00575
00576
00577
00578
00579
00580
00581
00582
00583
00584
00585
00586
00587
00588 static void I4VectorSequenceFactoriesTest ( void )
00589 {
00590 CreateVectorSequenceIn input = { 2, 8 };
00591 CreateVectorSequenceIn badslen = { 0, 8 };
00592 CreateVectorSequenceIn badvlen = { 2, 0 };
00593 static LALStatus status;
00594 static INT4VectorSequence *sequence;
00595 static INT4VectorSequence sstore;
00596
00597
00598
00599
00600
00601
00602
00603
00604
00605 LALI4CreateVectorSequence ( &status, &sequence, &input );
00606 TestStatus( &status, CODES( 0 ), 1 );
00607
00608 memset( sequence->data, 0, input.length*input.vectorLength*sizeof( INT4 ) );
00609
00610 LALI4DestroyVectorSequence ( &status, &sequence );
00611 TestStatus( &status, CODES( 0 ), 1 );
00612
00613 LALCheckMemoryLeaks();
00614
00615
00616
00617
00618
00619
00620
00621
00622 #ifndef LAL_NDEBUG
00623
00624 if ( ! lalNoDebug )
00625 {
00626 LALI4CreateVectorSequence ( &status, &sequence, &badslen );
00627 TestStatus( &status, CODES( SEQFACTORIESH_ESLENGTH ), 1 );
00628
00629 LALI4CreateVectorSequence ( &status, &sequence, &badvlen );
00630 TestStatus( &status, CODES( SEQFACTORIESH_EVLENGTH ), 1 );
00631
00632 LALI4CreateVectorSequence ( &status, &sequence, NULL );
00633 TestStatus( &status, CODES( SEQFACTORIESH_EINPTR ), 1 );
00634
00635 LALI4DestroyVectorSequence ( &status, NULL );
00636 TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00637
00638 LALI4CreateVectorSequence ( &status, NULL, &input );
00639 TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00640
00641 LALI4DestroyVectorSequence ( &status, &sequence );
00642 TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00643
00644 sequence = &sstore;
00645 LALI4CreateVectorSequence ( &status, &sequence, &input );
00646 TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00647
00648 LALI4DestroyVectorSequence ( &status, &sequence );
00649 TestStatus( &status, CODES( SEQFACTORIESH_EDPTR ), 1 );
00650 }
00651
00652 #else
00653 badslen.length = 0;
00654 badvlen.vectorLength = 0;
00655 sequence = &sstore;
00656 #endif
00657
00658 LALCheckMemoryLeaks();
00659 printf( "PASS: tests of LALI4CreateVectorSequence and LALI4DestroyVectorSequence \n" );
00660
00661 return;
00662 }
00663
00664
00665
00666
00667
00668
00669
00670
00671
00672
00673
00674
00675
00676
00677
00678
00679
00680
00681
00682
00683
00684 static void I8VectorSequenceFactoriesTest ( void )
00685 {
00686 CreateVectorSequenceIn input = { 2, 8 };
00687 CreateVectorSequenceIn badslen = { 0, 8 };
00688 CreateVectorSequenceIn badvlen = { 2, 0 };
00689 static LALStatus status;
00690 static INT8VectorSequence *sequence;
00691 static INT8VectorSequence sstore;
00692
00693
00694
00695
00696
00697
00698
00699
00700
00701 LALI8CreateVectorSequence ( &status, &sequence, &input );
00702 TestStatus( &status, CODES( 0 ), 1 );
00703
00704 memset( sequence->data, 0, input.length*input.vectorLength*sizeof( INT8 ) );
00705
00706 LALI8DestroyVectorSequence ( &status, &sequence );
00707 TestStatus( &status, CODES( 0 ), 1 );
00708
00709 LALCheckMemoryLeaks();
00710
00711
00712
00713
00714
00715
00716
00717
00718 #ifndef LAL_NDEBUG
00719
00720 if ( ! lalNoDebug )
00721 {
00722 LALI8CreateVectorSequence ( &status, &sequence, &badslen );
00723 TestStatus( &status, CODES( SEQFACTORIESH_ESLENGTH ), 1 );
00724
00725 LALI8CreateVectorSequence ( &status, &sequence, &badvlen );
00726 TestStatus( &status, CODES( SEQFACTORIESH_EVLENGTH ), 1 );
00727
00728 LALI8CreateVectorSequence ( &status, &sequence, NULL );
00729 TestStatus( &status, CODES( SEQFACTORIESH_EINPTR ), 1 );
00730
00731 LALI8DestroyVectorSequence ( &status, NULL );
00732 TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00733
00734 LALI8CreateVectorSequence ( &status, NULL, &input );
00735 TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00736
00737 LALI8DestroyVectorSequence ( &status, &sequence );
00738 TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00739
00740 sequence = &sstore;
00741 LALI8CreateVectorSequence ( &status, &sequence, &input );
00742 TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00743
00744 LALI8DestroyVectorSequence ( &status, &sequence );
00745 TestStatus( &status, CODES( SEQFACTORIESH_EDPTR ), 1 );
00746 }
00747
00748 #else
00749 badslen.length = 0;
00750 badvlen.vectorLength = 0;
00751 sequence = &sstore;
00752 #endif
00753
00754 LALCheckMemoryLeaks();
00755 printf( "PASS: tests of LALI8CreateVectorSequence and LALI8DestroyVectorSequence \n" );
00756
00757 return;
00758 }
00759
00760
00761
00762
00763
00764
00765
00766
00767
00768
00769
00770
00771
00772
00773
00774
00775
00776
00777
00778
00779
00780 static void U2VectorSequenceFactoriesTest ( void )
00781 {
00782 CreateVectorSequenceIn input = { 2, 8 };
00783 CreateVectorSequenceIn badslen = { 0, 8 };
00784 CreateVectorSequenceIn badvlen = { 2, 0 };
00785 static LALStatus status;
00786 static UINT2VectorSequence *sequence;
00787 static UINT2VectorSequence sstore;
00788
00789
00790
00791
00792
00793
00794
00795
00796
00797 LALU2CreateVectorSequence ( &status, &sequence, &input );
00798 TestStatus( &status, CODES( 0 ), 1 );
00799
00800 memset( sequence->data, 0, input.length*input.vectorLength*sizeof( UINT2 ) );
00801
00802 LALU2DestroyVectorSequence ( &status, &sequence );
00803 TestStatus( &status, CODES( 0 ), 1 );
00804
00805 LALCheckMemoryLeaks();
00806
00807
00808
00809
00810
00811
00812
00813
00814 #ifndef LAL_NDEBUG
00815
00816 if ( ! lalNoDebug )
00817 {
00818 LALU2CreateVectorSequence ( &status, &sequence, &badslen );
00819 TestStatus( &status, CODES( SEQFACTORIESH_ESLENGTH ), 1 );
00820
00821 LALU2CreateVectorSequence ( &status, &sequence, &badvlen );
00822 TestStatus( &status, CODES( SEQFACTORIESH_EVLENGTH ), 1 );
00823
00824 LALU2CreateVectorSequence ( &status, &sequence, NULL );
00825 TestStatus( &status, CODES( SEQFACTORIESH_EINPTR ), 1 );
00826
00827 LALU2DestroyVectorSequence ( &status, NULL );
00828 TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00829
00830 LALU2CreateVectorSequence ( &status, NULL, &input );
00831 TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00832
00833 LALU2DestroyVectorSequence ( &status, &sequence );
00834 TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00835
00836 sequence = &sstore;
00837 LALU2CreateVectorSequence ( &status, &sequence, &input );
00838 TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00839
00840 LALU2DestroyVectorSequence ( &status, &sequence );
00841 TestStatus( &status, CODES( SEQFACTORIESH_EDPTR ), 1 );
00842 }
00843
00844 #else
00845 badslen.length = 0;
00846 badvlen.vectorLength = 0;
00847 sequence = &sstore;
00848 #endif
00849
00850 LALCheckMemoryLeaks();
00851 printf( "PASS: tests of LALU2CreateVectorSequence and LALU2DestroyVectorSequence \n" );
00852
00853 return;
00854 }
00855
00856
00857
00858
00859
00860
00861
00862
00863
00864
00865
00866
00867
00868
00869
00870
00871
00872
00873
00874
00875
00876 static void U4VectorSequenceFactoriesTest ( void )
00877 {
00878 CreateVectorSequenceIn input = { 2, 8 };
00879 CreateVectorSequenceIn badslen = { 0, 8 };
00880 CreateVectorSequenceIn badvlen = { 2, 0 };
00881 static LALStatus status;
00882 static UINT4VectorSequence *sequence;
00883 static UINT4VectorSequence sstore;
00884
00885
00886
00887
00888
00889
00890
00891
00892
00893 LALU4CreateVectorSequence ( &status, &sequence, &input );
00894 TestStatus( &status, CODES( 0 ), 1 );
00895
00896 memset( sequence->data, 0, input.length*input.vectorLength*sizeof( UINT4 ) );
00897
00898 LALU4DestroyVectorSequence ( &status, &sequence );
00899 TestStatus( &status, CODES( 0 ), 1 );
00900
00901 LALCheckMemoryLeaks();
00902
00903
00904
00905
00906
00907
00908
00909
00910 #ifndef LAL_NDEBUG
00911
00912 if ( ! lalNoDebug )
00913 {
00914 LALU4CreateVectorSequence ( &status, &sequence, &badslen );
00915 TestStatus( &status, CODES( SEQFACTORIESH_ESLENGTH ), 1 );
00916
00917 LALU4CreateVectorSequence ( &status, &sequence, &badvlen );
00918 TestStatus( &status, CODES( SEQFACTORIESH_EVLENGTH ), 1 );
00919
00920 LALU4CreateVectorSequence ( &status, &sequence, NULL );
00921 TestStatus( &status, CODES( SEQFACTORIESH_EINPTR ), 1 );
00922
00923 LALU4DestroyVectorSequence ( &status, NULL );
00924 TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00925
00926 LALU4CreateVectorSequence ( &status, NULL, &input );
00927 TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
00928
00929 LALU4DestroyVectorSequence ( &status, &sequence );
00930 TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00931
00932 sequence = &sstore;
00933 LALU4CreateVectorSequence ( &status, &sequence, &input );
00934 TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
00935
00936 LALU4DestroyVectorSequence ( &status, &sequence );
00937 TestStatus( &status, CODES( SEQFACTORIESH_EDPTR ), 1 );
00938 }
00939
00940 #else
00941 badslen.length = 0;
00942 badvlen.vectorLength = 0;
00943 sequence = &sstore;
00944 #endif
00945
00946 LALCheckMemoryLeaks();
00947 printf( "PASS: tests of LALU4CreateVectorSequence and LALU4DestroyVectorSequence \n" );
00948
00949 return;
00950 }
00951
00952
00953
00954
00955
00956
00957
00958
00959
00960
00961
00962
00963
00964
00965
00966
00967
00968
00969
00970
00971
00972 static void U8VectorSequenceFactoriesTest ( void )
00973 {
00974 CreateVectorSequenceIn input = { 2, 8 };
00975 CreateVectorSequenceIn badslen = { 0, 8 };
00976 CreateVectorSequenceIn badvlen = { 2, 0 };
00977 static LALStatus status;
00978 static UINT8VectorSequence *sequence;
00979 static UINT8VectorSequence sstore;
00980
00981
00982
00983
00984
00985
00986
00987
00988
00989 LALU8CreateVectorSequence ( &status, &sequence, &input );
00990 TestStatus( &status, CODES( 0 ), 1 );
00991
00992 memset( sequence->data, 0, input.length*input.vectorLength*sizeof( UINT8 ) );
00993
00994 LALU8DestroyVectorSequence ( &status, &sequence );
00995 TestStatus( &status, CODES( 0 ), 1 );
00996
00997 LALCheckMemoryLeaks();
00998
00999
01000
01001
01002
01003
01004
01005
01006 #ifndef LAL_NDEBUG
01007
01008 if ( ! lalNoDebug )
01009 {
01010 LALU8CreateVectorSequence ( &status, &sequence, &badslen );
01011 TestStatus( &status, CODES( SEQFACTORIESH_ESLENGTH ), 1 );
01012
01013 LALU8CreateVectorSequence ( &status, &sequence, &badvlen );
01014 TestStatus( &status, CODES( SEQFACTORIESH_EVLENGTH ), 1 );
01015
01016 LALU8CreateVectorSequence ( &status, &sequence, NULL );
01017 TestStatus( &status, CODES( SEQFACTORIESH_EINPTR ), 1 );
01018
01019 LALU8DestroyVectorSequence ( &status, NULL );
01020 TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
01021
01022 LALU8CreateVectorSequence ( &status, NULL, &input );
01023 TestStatus( &status, CODES( SEQFACTORIESH_EVPTR ), 1 );
01024
01025 LALU8DestroyVectorSequence ( &status, &sequence );
01026 TestStatus( &status, CODES( SEQFACTORIESH_EUPTR ), 1 );
01027
01028 sequence = &sstore;
01029 LALU8CreateVectorSequence ( &status, &sequence, &input );
01030