NexGenAnalytics / Trilinos

Primary repository for the Trilinos Project
https://trilinos.org/
Other
0 stars 2 forks source link

amesos2: Evaluate test coverage #53

Open stmcgovern opened 1 year ago

stmcgovern commented 1 year ago

In the amesos2 package, with required dependency on Tpetra and optional dependency on Epetra, determine how many Epetra tests do not have Tpetra equivalents (if any).

Add the equivalent tests, if appropriate.

antoinemeyer5 commented 1 year ago

amesos2 package

Conclusion: 3 tests to add (2 in adapters and 1 in solvers). More details below.

Folder name: test/adapters

Requirements File name (.cpp) In CMakeLists Have equivalent
EpetraExt CrsMatrix_Adapter_Consistency_Tests YES NO
Epetra Epetra_MultiVector_Adapter_UnitTests YES YES
Epetra Epetra_RowMatrix_Adapter_UnitTests YES NO
Tpetra Tpetra_CrsMatrix_Adapter_UnitTests YES ---
Tpetra Tpetra_MultiVector_Adapter_UnitTests YES ---

Folder name: test/solvers

Requirements File name (.cpp) In CMakeLists Have equivalent
Tpetra Basker_UnitTests YES ---
Tpetra KLU2_UnitTests YES ---
Tpetra MUMPS_UnitTests YES ---
Tpetra ShyLUBasker_UnitTests YES ---
Tpetra Solver_Test_Basker NO ---
Epetra Solver_Test YES NO
Tpetra SolverFactory YES ---
Tpetra STRUMPACK_UnitTests YES ---
Tpetra Superlu_Solve_Tests NO ---
Tpetra Superlu_UnitTests YES ---

Folder name: test/tklu_simple

Requirements File name (.cpp) In CMakeLists Have equivalent
Tpetra tklu_simple NO ---
tlamonthezie commented 1 year ago

After going into source code it appears that Tpetra tests exists for adapters and solvers. Despite the fact that the file names suggest not, we can find that internal Teuchos unit tests are defined.

Teuchos Test Group Teuchos Test Name File (Epetra) File (Tpetra) Have Tpetra Correspondance
CrsMatrixAdapter Initialization Epetra_RowMatrix_Adapter_UnitTests.cpp Tpetra_CrsMatrix_Adapter_UnitTests.cpp YES
CrsMatrixAdapter Dimensions Epetra_RowMatrix_Adapter_UnitTests.cpp Tpetra_CrsMatrix_Adapter_UnitTests.cpp YES
CrsMatrixAdapter CRS_Serial Epetra_RowMatrix_Adapter_UnitTests.cpp Tpetra_CrsMatrix_Adapter_UnitTests.cpp YES
CrsMatrixAdapter CRS_Replicated Epetra_RowMatrix_Adapter_UnitTests.cpp Tpetra_CrsMatrix_Adapter_UnitTests.cpp YES
CrsMatrixAdapter CRS_Map Epetra_RowMatrix_Adapter_UnitTests.cpp Tpetra_CrsMatrix_Adapter_UnitTests.cpp YES
CrsMatrixAdapter CCS Epetra_RowMatrix_Adapter_UnitTests.cpp Tpetra_CrsMatrix_Adapter_UnitTests.cpp YES
CrsMatrixAdapter Initialization CrsMatrix_Adapter_Consistency_Tests.cpp Not applicable (Testing consistency between epetra and tpetra) YES
CrsMatrixAdapter CRS_Serial CrsMatrix_Adapter_Consistency_Tests.cpp Not applicable (Testing consistency between epetra and tpetra) YES
CrsMatrixAdapter CRS_Map CrsMatrix_Adapter_Consistency_Tests.cpp Not applicable (Testing consistency between epetra and tpetra) YES
MultiVecAdapter Initialization Epetra_MultiVector_Adapter_UnitTests.cpp Tpetra_MultiVector_Adapter_UnitTests.cpp YES
MultiVecAdapter Dimensions Epetra_MultiVector_Adapter_UnitTests.cpp Tpetra_MultiVector_Adapter_UnitTests.cpp YES
MultiVecAdapter Copy Epetra_MultiVector_Adapter_UnitTests.cpp Tpetra_MultiVector_Adapter_UnitTests.cpp YES
MultiVecAdapter Copy_Map Epetra_MultiVector_Adapter_UnitTests.cpp Tpetra_MultiVector_Adapter_UnitTests.cpp YES
MultiVecAdapter Globalize Epetra_MultiVector_Adapter_UnitTests.cpp Tpetra_MultiVector_Adapter_UnitTests.cpp YES

Additionnaly, the Solver_Test implementation includes both methods : do_epetra_testand test_epetra so we can consider these are equivalents in my opinion.

Finally regarding the test file named tklu_simple.cpp (it is for Tpetra) I think that if the test is not registered (with tribits) and if it must registered as a test it should be part of another issue in the trilinos repository.

As a result I think that this package is quite good regarding Task 2 and that this issue can be closed safely. @stmcgovern could you please confirm please ?