Skip to content

Commit 86d01a7

Browse files
committed
extend test for error exit for sysv routines
1 parent ab92781 commit 86d01a7

File tree

4 files changed

+166
-46
lines changed

4 files changed

+166
-46
lines changed

TESTING/LIN/cerrvx.f

Lines changed: 52 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ SUBROUTINE CERRVX( PATH, NUNIT )
8787
* ..
8888
* .. External Subroutines ..
8989
EXTERNAL CGBSV, CGBSVX, CGESV, CGESVX, CGTSV, CGTSVX,
90-
$ CHESV, CHESV_RK ,CHESV_ROOK, CHESVX, CHKXER,
90+
$ CHESV, CHESV_RK, CHESV_ROOK, CHESVX, CHKXER,
9191
$ CHPSV, CHPSVX, CPBSV, CPBSVX, CPOSV, CPOSVX,
9292
$ CPPSV, CPPSVX, CPTSV, CPTSVX, CSPSV, CSPSVX,
9393
$ CSYSV, CSYSV_AA, CSYSV_RK, CSYSV_ROOK,
@@ -651,6 +651,9 @@ SUBROUTINE CERRVX( PATH, NUNIT )
651651
INFOT = 3
652652
CALL CHESV_ROOK( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
653653
CALL CHKXER( 'CHESV_ROOK', INFOT, NOUT, LERR, OK )
654+
INFOT = 5
655+
CALL CHESV_ROOK( 'U', 2, 0, A, 1, IP, B, 2, W, 1, INFO )
656+
CALL CHKXER( 'CHESV_ROOK', INFOT, NOUT, LERR, OK )
654657
INFOT = 8
655658
CALL CHESV_ROOK( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
656659
CALL CHKXER( 'CHESV_ROOK', INFOT, NOUT, LERR, OK )
@@ -710,9 +713,15 @@ SUBROUTINE CERRVX( PATH, NUNIT )
710713
INFOT = 3
711714
CALL CHESV_AA( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
712715
CALL CHKXER( 'CHESV_AA', INFOT, NOUT, LERR, OK )
716+
INFOT = 5
717+
CALL CHESV_AA( 'U', 2, 0, A, 1, IP, B, 2, W, 1, INFO )
718+
CALL CHKXER( 'CHESV_AA', INFOT, NOUT, LERR, OK )
713719
INFOT = 8
714720
CALL CHESV_AA( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
715721
CALL CHKXER( 'CHESV_AA', INFOT, NOUT, LERR, OK )
722+
INFOT = 10
723+
CALL CHESV_AA( 'U', 3, 1, A, 3, IP, B, 3, W, 6, INFO )
724+
CALL CHKXER( 'CHESV_AA', INFOT, NOUT, LERR, OK )
716725
*
717726
ELSE IF( LSAMEN( 2, C2, 'H2' ) ) THEN
718727
*
@@ -733,16 +742,44 @@ SUBROUTINE CERRVX( PATH, NUNIT )
733742
CALL CHKXER( 'CHESV_AA_2STAGE', INFOT, NOUT, LERR, OK )
734743
INFOT = 5
735744
CALL CHESV_AA_2STAGE( 'U', 2, 1, A, 1, A, 1, IP, IP, B, 1,
745+
$ W, 1, INFO )
746+
CALL CHKXER( 'CHESV_AA_2STAGE', INFOT, NOUT, LERR, OK )
747+
INFOT = 7
748+
CALL CHESV_AA_2STAGE( 'U', 2, 1, A, 2, A, 1, IP, IP, B, 2,
736749
$ W, 1, INFO )
737750
CALL CHKXER( 'CHESV_AA_2STAGE', INFOT, NOUT, LERR, OK )
738751
INFOT = 11
739752
CALL CHESV_AA_2STAGE( 'U', 2, 1, A, 2, A, 8, IP, IP, B, 1,
740753
$ W, 1, INFO )
741754
CALL CHKXER( 'CHESV_AA_2STAGE', INFOT, NOUT, LERR, OK )
742-
INFOT = 7
743-
CALL CHESV_AA_2STAGE( 'U', 2, 1, A, 2, A, 1, IP, IP, B, 2,
755+
INFOT = 13
756+
CALL CHESV_AA_2STAGE( 'U', 2, 1, A, 2, A, 8, IP, IP, B, 2,
744757
$ W, 1, INFO )
745758
CALL CHKXER( 'CHESV_AA_2STAGE', INFOT, NOUT, LERR, OK )
759+
*
760+
ELSE IF( LSAMEN( 2, C2, 'SA' ) ) THEN
761+
*
762+
* CSYSV_AASEN
763+
*
764+
SRNAMT = 'CSYSV_AA'
765+
INFOT = 1
766+
CALL CSYSV_AA( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
767+
CALL CHKXER( 'CSYSV_AA', INFOT, NOUT, LERR, OK )
768+
INFOT = 2
769+
CALL CSYSV_AA( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
770+
CALL CHKXER( 'CSYSV_AA', INFOT, NOUT, LERR, OK )
771+
INFOT = 3
772+
CALL CSYSV_AA( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
773+
CALL CHKXER( 'CSYSV_AA', INFOT, NOUT, LERR, OK )
774+
INFOT = 5
775+
CALL CSYSV_AA( 'U', 2, 0, A, 1, IP, B, 2, W, 1, INFO )
776+
CALL CHKXER( 'CSYSV_AA', INFOT, NOUT, LERR, OK )
777+
INFOT = 8
778+
CALL CSYSV_AA( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
779+
CALL CHKXER( 'CSYSV_AA', INFOT, NOUT, LERR, OK )
780+
INFOT = 10
781+
CALL CSYSV_AA( 'U', 3, 1, A, 3, IP, B, 3, W, 6, INFO )
782+
CALL CHKXER( 'CSYSV_AA', INFOT, NOUT, LERR, OK )
746783
*
747784
ELSE IF( LSAMEN( 2, C2, 'S2' ) ) THEN
748785
*
@@ -763,14 +800,18 @@ SUBROUTINE CERRVX( PATH, NUNIT )
763800
CALL CHKXER( 'CSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK )
764801
INFOT = 5
765802
CALL CSYSV_AA_2STAGE( 'U', 2, 1, A, 1, A, 1, IP, IP, B, 1,
803+
$ W, 1, INFO )
804+
CALL CHKXER( 'CSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK )
805+
INFOT = 7
806+
CALL CSYSV_AA_2STAGE( 'U', 2, 1, A, 2, A, 1, IP, IP, B, 2,
766807
$ W, 1, INFO )
767808
CALL CHKXER( 'CSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK )
768809
INFOT = 11
769810
CALL CSYSV_AA_2STAGE( 'U', 2, 1, A, 2, A, 8, IP, IP, B, 1,
770811
$ W, 1, INFO )
771812
CALL CHKXER( 'CSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK )
772-
INFOT = 7
773-
CALL CSYSV_AA_2STAGE( 'U', 2, 1, A, 2, A, 1, IP, IP, B, 2,
813+
INFOT = 13
814+
CALL CSYSV_AA_2STAGE( 'U', 2, 1, A, 2, A, 8, IP, IP, B, 2,
774815
$ W, 1, INFO )
775816
CALL CHKXER( 'CSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK )
776817
*
@@ -834,6 +875,9 @@ SUBROUTINE CERRVX( PATH, NUNIT )
834875
INFOT = 3
835876
CALL CSYSV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
836877
CALL CHKXER( 'CSYSV ', INFOT, NOUT, LERR, OK )
878+
INFOT = 5
879+
CALL CSYSV( 'U', 2, 0, A, 1, IP, B, 2, W, 1, INFO )
880+
CALL CHKXER( 'CSYSV ', INFOT, NOUT, LERR, OK )
837881
INFOT = 8
838882
CALL CSYSV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
839883
CALL CHKXER( 'CSYSV ', INFOT, NOUT, LERR, OK )
@@ -898,6 +942,9 @@ SUBROUTINE CERRVX( PATH, NUNIT )
898942
INFOT = 3
899943
CALL CSYSV_ROOK( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
900944
CALL CHKXER( 'CSYSV_ROOK', INFOT, NOUT, LERR, OK )
945+
INFOT = 5
946+
CALL CSYSV_ROOK( 'U', 2, 0, A, 1, IP, B, 2, W, 1, INFO )
947+
CALL CHKXER( 'CSYSV_ROOK', INFOT, NOUT, LERR, OK )
901948
INFOT = 8
902949
CALL CSYSV_ROOK( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
903950
CALL CHKXER( 'CSYSV_ROOK', INFOT, NOUT, LERR, OK )

TESTING/LIN/derrvx.f

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -699,21 +699,27 @@ SUBROUTINE DERRVX( PATH, NUNIT )
699699
*
700700
ELSE IF( LSAMEN( 2, C2, 'SA' ) ) THEN
701701
*
702-
* DSYSV_AA
703-
*
704-
SRNAMT = 'DSYSV_AA'
705-
INFOT = 1
706-
CALL DSYSV_AA( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
707-
CALL CHKXER( 'DSYSV_AA', INFOT, NOUT, LERR, OK )
708-
INFOT = 2
709-
CALL DSYSV_AA( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
710-
CALL CHKXER( 'DSYSV_AA', INFOT, NOUT, LERR, OK )
711-
INFOT = 3
712-
CALL DSYSV_AA( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
713-
CALL CHKXER( 'DSYSV_AA', INFOT, NOUT, LERR, OK )
714-
INFOT = 8
715-
CALL DSYSV_AA( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
716-
CALL CHKXER( 'DSYSV_AA', INFOT, NOUT, LERR, OK )
702+
* DSYSV_AASEN
703+
*
704+
SRNAMT = 'DSYSV_AA'
705+
INFOT = 1
706+
CALL DSYSV_AA( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
707+
CALL CHKXER( 'DSYSV_AA', INFOT, NOUT, LERR, OK )
708+
INFOT = 2
709+
CALL DSYSV_AA( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
710+
CALL CHKXER( 'DSYSV_AA', INFOT, NOUT, LERR, OK )
711+
INFOT = 3
712+
CALL DSYSV_AA( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
713+
CALL CHKXER( 'DSYSV_AA', INFOT, NOUT, LERR, OK )
714+
INFOT = 5
715+
CALL DSYSV_AA( 'U', 2, 0, A, 1, IP, B, 2, W, 1, INFO )
716+
CALL CHKXER( 'DSYSV_AA', INFOT, NOUT, LERR, OK )
717+
INFOT = 8
718+
CALL DSYSV_AA( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
719+
CALL CHKXER( 'DSYSV_AA', INFOT, NOUT, LERR, OK )
720+
INFOT = 10
721+
CALL DSYSV_AA( 'U', 3, 1, A, 3, IP, B, 3, W, 6, INFO )
722+
CALL CHKXER( 'DSYSV_AA', INFOT, NOUT, LERR, OK )
717723
*
718724
ELSE IF( LSAMEN( 2, C2, 'S2' ) ) THEN
719725
*
@@ -734,14 +740,18 @@ SUBROUTINE DERRVX( PATH, NUNIT )
734740
CALL CHKXER( 'DSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK )
735741
INFOT = 5
736742
CALL DSYSV_AA_2STAGE( 'U', 2, 1, A, 1, A, 1, IP, IP, B, 1,
743+
$ W, 1, INFO )
744+
CALL CHKXER( 'DSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK )
745+
INFOT = 7
746+
CALL DSYSV_AA_2STAGE( 'U', 2, 1, A, 2, A, 1, IP, IP, B, 2,
737747
$ W, 1, INFO )
738748
CALL CHKXER( 'DSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK )
739749
INFOT = 11
740750
CALL DSYSV_AA_2STAGE( 'U', 2, 1, A, 2, A, 8, IP, IP, B, 1,
741751
$ W, 1, INFO )
742752
CALL CHKXER( 'DSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK )
743-
INFOT = 7
744-
CALL DSYSV_AA_2STAGE( 'U', 2, 1, A, 2, A, 1, IP, IP, B, 2,
753+
INFOT = 13
754+
CALL DSYSV_AA_2STAGE( 'U', 2, 1, A, 2, A, 8, IP, IP, B, 2,
745755
$ W, 1, INFO )
746756
CALL CHKXER( 'DSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK )
747757
*

TESTING/LIN/serrvx.f

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -582,6 +582,9 @@ SUBROUTINE SERRVX( PATH, NUNIT )
582582
INFOT = 3
583583
CALL SSYSV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
584584
CALL CHKXER( 'SSYSV ', INFOT, NOUT, LERR, OK )
585+
INFOT = 5
586+
CALL SSYSV( 'U', 2, 0, A, 1, IP, B, 2, W, 1, INFO )
587+
CALL CHKXER( 'SSYSV ', INFOT, NOUT, LERR, OK )
585588
INFOT = 8
586589
CALL SSYSV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
587590
CALL CHKXER( 'SSYSV ', INFOT, NOUT, LERR, OK )
@@ -647,6 +650,9 @@ SUBROUTINE SERRVX( PATH, NUNIT )
647650
INFOT = 3
648651
CALL SSYSV_ROOK( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
649652
CALL CHKXER( 'SSYSV_ROOK', INFOT, NOUT, LERR, OK )
653+
INFOT = 5
654+
CALL SSYSV_ROOK( 'U', 2, 0, A, 1, IP, B, 2, W, 1, INFO )
655+
CALL CHKXER( 'SSYSV_ROOK', INFOT, NOUT, LERR, OK )
650656
INFOT = 8
651657
CALL SSYSV_ROOK( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
652658
CALL CHKXER( 'SSYSV_ROOK', INFOT, NOUT, LERR, OK )
@@ -694,7 +700,7 @@ SUBROUTINE SERRVX( PATH, NUNIT )
694700
*
695701
ELSE IF( LSAMEN( 2, C2, 'SA' ) ) THEN
696702
*
697-
* SSYSV_AA
703+
* SSYSV_AASEN
698704
*
699705
SRNAMT = 'SSYSV_AA'
700706
INFOT = 1
@@ -706,13 +712,19 @@ SUBROUTINE SERRVX( PATH, NUNIT )
706712
INFOT = 3
707713
CALL SSYSV_AA( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
708714
CALL CHKXER( 'SSYSV_AA', INFOT, NOUT, LERR, OK )
715+
INFOT = 5
716+
CALL SSYSV_AA( 'U', 2, 0, A, 1, IP, B, 2, W, 1, INFO )
717+
CALL CHKXER( 'SSYSV_AA', INFOT, NOUT, LERR, OK )
709718
INFOT = 8
710719
CALL SSYSV_AA( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
711720
CALL CHKXER( 'SSYSV_AA', INFOT, NOUT, LERR, OK )
721+
INFOT = 10
722+
CALL SSYSV_AA( 'U', 3, 1, A, 3, IP, B, 3, W, 6, INFO )
723+
CALL CHKXER( 'SSYSV_AA', INFOT, NOUT, LERR, OK )
712724
*
713725
ELSE IF( LSAMEN( 2, C2, 'S2' ) ) THEN
714726
*
715-
* DSYSV_AASEN_2STAGE
727+
* SSYSV_AASEN_2STAGE
716728
*
717729
SRNAMT = 'SSYSV_AA_2STAGE'
718730
INFOT = 1
@@ -729,14 +741,18 @@ SUBROUTINE SERRVX( PATH, NUNIT )
729741
CALL CHKXER( 'SSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK )
730742
INFOT = 5
731743
CALL SSYSV_AA_2STAGE( 'U', 2, 1, A, 1, A, 1, IP, IP, B, 1,
744+
$ W, 1, INFO )
745+
CALL CHKXER( 'SSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK )
746+
INFOT = 7
747+
CALL SSYSV_AA_2STAGE( 'U', 2, 1, A, 2, A, 1, IP, IP, B, 2,
732748
$ W, 1, INFO )
733749
CALL CHKXER( 'SSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK )
734750
INFOT = 11
735751
CALL SSYSV_AA_2STAGE( 'U', 2, 1, A, 2, A, 8, IP, IP, B, 1,
736752
$ W, 1, INFO )
737753
CALL CHKXER( 'SSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK )
738-
INFOT = 7
739-
CALL SSYSV_AA_2STAGE( 'U', 2, 1, A, 2, A, 1, IP, IP, B, 2,
754+
INFOT = 13
755+
CALL SSYSV_AA_2STAGE( 'U', 2, 1, A, 2, A, 8, IP, IP, B, 2,
740756
$ W, 1, INFO )
741757
CALL CHKXER( 'SSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK )
742758
*

0 commit comments

Comments
 (0)