@@ -69,11 +69,15 @@ class ElecStatePrintTest : public ::testing::Test
6969 {
7070 p_klist = new K_Vectors;
7171 p_klist->set_nks (2 );
72+ p_klist->set_nkstot (2 );
7273 p_klist->isk = {0 , 1 };
7374 p_klist->ngk = {100 , 101 };
7475 p_klist->kvec_c .resize (2 );
7576 p_klist->kvec_c [0 ].set (0.1 , 0.11 , 0.111 );
7677 p_klist->kvec_c [1 ].set (0.2 , 0.22 , 0.222 );
78+ p_klist->ik2iktot .resize (2 );
79+ p_klist->ik2iktot [0 ] = 0 ;
80+ p_klist->ik2iktot [1 ] = 1 ;
7781 // initialize klist of elecstate
7882 elecstate.klist = p_klist;
7983 // initialize ekb of elecstate
@@ -116,11 +120,11 @@ TEST_F(ElecStatePrintTest, PrintFormat)
116120TEST_F (ElecStatePrintTest, PrintEigenvalueS2)
117121{
118122 PARAM.input .nspin = 2 ;
119- GlobalV::ofs_running.open (" test.dat " , std::ios::out);
123+ GlobalV::ofs_running.open (" running_scf.log " , std::ios::out);
120124 // print eigenvalue
121125 elecstate.print_eigenvalue (GlobalV::ofs_running);
122126 GlobalV::ofs_running.close ();
123- ifs.open (" test.dat " , std::ios::in);
127+ ifs.open (" running_scf.log " , std::ios::in);
124128 std::string str ((std::istreambuf_iterator<char >(ifs)), std::istreambuf_iterator<char >());
125129 EXPECT_THAT (str, testing::HasSubstr (" STATE ENERGY(eV) AND OCCUPATIONS" ));
126130 EXPECT_THAT (str, testing::HasSubstr (" NSPIN == 2" ));
@@ -133,17 +137,17 @@ TEST_F(ElecStatePrintTest, PrintEigenvalueS2)
133137 EXPECT_THAT (str, testing::HasSubstr (" 1 40.8171 0.300000" ));
134138 EXPECT_THAT (str, testing::HasSubstr (" 2 54.4228 0.400000" ));
135139 ifs.close ();
136- std::remove (" test.dat " );
140+ std::remove (" running_scf.log " );
137141}
138142
139143TEST_F (ElecStatePrintTest, PrintEigenvalueS4)
140144{
141145 PARAM.input .nspin = 4 ;
142- GlobalV::ofs_running.open (" test.dat " , std::ios::out);
146+ GlobalV::ofs_running.open (" running_scf.log " , std::ios::out);
143147 // print eigenvalue
144148 elecstate.print_eigenvalue (GlobalV::ofs_running);
145149 GlobalV::ofs_running.close ();
146- ifs.open (" test.dat " , std::ios::in);
150+ ifs.open (" running_scf.log " , std::ios::in);
147151 std::string str ((std::istreambuf_iterator<char >(ifs)), std::istreambuf_iterator<char >());
148152 EXPECT_THAT (str, testing::HasSubstr (" STATE ENERGY(eV) AND OCCUPATIONS" ));
149153 EXPECT_THAT (str, testing::HasSubstr (" NSPIN == 4" ));
@@ -154,51 +158,51 @@ TEST_F(ElecStatePrintTest, PrintEigenvalueS4)
154158 EXPECT_THAT (str, testing::HasSubstr (" 1 40.8171 0.300000" ));
155159 EXPECT_THAT (str, testing::HasSubstr (" 2 54.4228 0.400000" ));
156160 ifs.close ();
157- std::remove (" test.dat " );
161+ std::remove (" running_scf.log " );
158162}
159163
160164TEST_F (ElecStatePrintTest, PrintBand)
161165{
162166 PARAM.input .nspin = 1 ;
163167 PARAM.input .nbands = 2 ;
164168 GlobalV::MY_RANK = 0 ;
165- GlobalV::ofs_running.open (" test.dat " , std::ios::out);
169+ GlobalV::ofs_running.open (" running_scf.log " , std::ios::out);
166170 // print eigenvalue
167171 elecstate.print_band (0 , 1 , 0 );
168172 GlobalV::ofs_running.close ();
169- ifs.open (" test.dat " , std::ios::in);
173+ ifs.open (" running_scf.log " , std::ios::in);
170174 std::string str ((std::istreambuf_iterator<char >(ifs)), std::istreambuf_iterator<char >());
171175 EXPECT_THAT (str, testing::HasSubstr (" Energy (eV) & Occupations for spin=1 K-point=1" ));
172176 EXPECT_THAT (str, testing::HasSubstr (" 1 13.6057 0.100000" ));
173177 EXPECT_THAT (str, testing::HasSubstr (" 2 27.2114 0.200000" ));
174178 ifs.close ();
175- std::remove (" test.dat " );
179+ std::remove (" running_scf.log " );
176180}
177181
178182TEST_F (ElecStatePrintTest, PrintEigenvalueWarning)
179183{
180184 elecstate.ekb (0 , 0 ) = 1.0e11 ;
181185 PARAM.input .nspin = 4 ;
182- GlobalV::ofs_running.open (" test.dat " , std::ios::out);
186+ GlobalV::ofs_running.open (" running_scf.log " , std::ios::out);
183187 testing::internal::CaptureStdout ();
184188 EXPECT_EXIT (elecstate.print_eigenvalue (GlobalV::ofs_running), ::testing::ExitedWithCode (1 ), " " );
185189 output = testing::internal::GetCapturedStdout ();
186190 EXPECT_THAT (output, testing::HasSubstr (" Eigenvalues are too large!" ));
187191 GlobalV::ofs_running.close ();
188- std::remove (" test.dat " );
192+ std::remove (" running_scf.log " );
189193}
190194
191195TEST_F (ElecStatePrintTest, PrintBandWarning)
192196{
193197 elecstate.ekb (0 , 0 ) = 1.0e11 ;
194198 PARAM.input .nspin = 4 ;
195- GlobalV::ofs_running.open (" test.dat " , std::ios::out);
199+ GlobalV::ofs_running.open (" running_scf.log " , std::ios::out);
196200 testing::internal::CaptureStdout ();
197201 EXPECT_EXIT (elecstate.print_band (0 , 1 , 0 ), ::testing::ExitedWithCode (1 ), " " );
198202 output = testing::internal::GetCapturedStdout ();
199203 EXPECT_THAT (output, testing::HasSubstr (" Eigenvalues are too large!" ));
200204 GlobalV::ofs_running.close ();
201- std::remove (" test.dat " );
205+ std::remove (" running_scf.log " );
202206}
203207
204208TEST_F (ElecStatePrintTest, PrintEtot)
@@ -342,6 +346,7 @@ TEST_F(ElecStatePrintTest, PrintEtotColorS2)
342346 PARAM.input .nspin = 2 ;
343347 GlobalV::MY_RANK = 0 ;
344348 elecstate.print_etot (ucell.magnet ,converged, iter, scf_thr, scf_thr_kin, duration, printe, pw_diag_thr, avg_iter, print);
349+ delete elecstate.charge ;
345350}
346351
347352TEST_F (ElecStatePrintTest, PrintEtotColorS4)
@@ -367,4 +372,5 @@ TEST_F(ElecStatePrintTest, PrintEtotColorS4)
367372 PARAM.input .noncolin = true ;
368373 GlobalV::MY_RANK = 0 ;
369374 elecstate.print_etot (ucell.magnet ,converged, iter, scf_thr, scf_thr_kin, duration, printe, pw_diag_thr, avg_iter, print);
375+ delete elecstate.charge ;
370376}
0 commit comments