Cantera / cantera

Chemical kinetics, thermodynamics, and transport tool suite
https://cantera.org
Other
582 stars 342 forks source link

C++ samples not checked for use of deprecated methods #1603

Open speth opened 10 months ago

speth commented 10 months ago

Problem description

Currently, the C++ samples can (and do) contain use of deprecated methods. While these samples are compiled and run as part of scons test, we do not force deprecation warnings to be errors in these samples, and the output written to stdout and stederr is not included in the test comparisons for most of these tests, which means the warnings printed to the screen go unnoticed

Steps to reproduce

  1. Run scons test
  2. Run ./build/samples/cxx/bvp/blasius (may require fiddling with LD_LIBRARY_PATH)
  3. See DeprecationWarning in the output

Behavior

Step 1 passes with no errors. Step 2 produces output starting with:

DeprecationWarning: OneDim::OneDim(vector<Domain1D*>): To be removed after Cantera 3.0; superseded by OneDim::OneDim(v
ector<shared_ptr<Domain1D>>).
DeprecationWarning: OneDim::addDomain(Domain1D*): To be removed after Cantera 3.0; superseded by OneDim::addDomain(shared_ptr<Domain1D>).
DeprecationWarning: Sim1D::Sim1D(vector<Domain1D*>&): To be removed after Cantera 3.0; superseded by Sim1D::Sim1D(vector<shared_ptr<Domain1D>>&).

..............................................................................
Attempt Newton solution of steady-state problem...    failure. 
Take 10 timesteps     0.0003844     0.7784
Attempt Newton solution of steady-state problem...    success.

Problem solved on [6] point grid(s).

System information

Additional context

I already have a fix prepared for the specific warnings here that will be included in an upcoming PR, but thought it was helpful to track this gap in our testing separately.

ischoegl commented 5 months ago

@speth - as there have been several PR's merged since creating this issue, this may already be fixed?

speth commented 5 months ago

This issue does not affect the sample programs in the C++ tutorial (https://cantera.org/dev/userguide/cxx-tutorial.html) which are now included in the test suite as of #1657, because the regression tests for these make comparisons of the combined stdout and stderr of the samples.

However, nothing has changed for the other C++ sample programs.