tudat-team / tudat

A C++ platform to perform astrodynamics and space research.
BSD 3-Clause "New" or "Revised" License
17 stars 27 forks source link

Broken tests after data path changes + install step #1

Closed geoffreygarrett closed 3 years ago

geoffreygarrett commented 4 years ago

In short: the installation step was added in order to make integration with conda-smithy (toward conda packaging) as headache free as possible. Around 30 tests have been temporarily removed for two separate categorical reasons.

All test data that was stored within the source tree, needs to be removed and added to the tests folder. It's failing in the conda process as it appears that the src tree is no longer available (it is deleted or moved) prior to the build tree being tested. The test data needs to be temporarily available before packaging. From my current knowledge there are a few ways that these can be resolved.

  1. Host the test data and use the ExternalData module in cmake, if we wish to continue with CTest.
  2. Add a header file within the tests directory of the source that facilitates the build tree paths (like include/tudat/paths.hpp - which may be merged with the config.hpp - in the build tree).
  3. Only test the installation, moving all the test data from source to the install temporarily and use the files key in the meta.yaml to avoid this data being packaged.

    # Fails without install, as it looks for installed data paths
    test_aerodynamics_AerodynamicMomentAndAerodynamicForce
    test_aerodynamics_TabulatedAtmosphere
    test_aerodynamics_ControlSurfaceIncrements
    test_aerodynamics_WindModel
    test_ephemerides_ApproximatePlanetPositions
    test_ephemerides_TabulatedEphemeris
    test_spice_SpiceInterface
    test_simulation_EnvironmentModelSetup
    test_simulation_AccelerationModelSetup
    test_io_BasicInputOutput
    
    # Fails without test data, as the source tree isn't available after building (conda)
    test_aerodynamics_AerodynamicCoefficientsFromFile
    test_basic_astro_EmpiricalAcceleration
    test_earth_orientation_EarthOrientationCalculator
    test_earth_orientation_EopReader
    test_earth_orientation_PolarMotionCalculator
    test_earth_orientation_TimeScaleConverter
    test_earth_orientation_ShortPeriodEopCorrections
    test_electromagnetism_PanelledRadiationPressure
    test_interpolators_CubicSplineInterpolator
    test_interpolators_LinearInterpolator
    test_interpolators_MultiLinearInterpolator
    test_integrators_EulerIntegrator
    test_integrators_RungeKutta4Integrator
    test_integrators_RungeKuttaFehlberg45Integrator
    test_integrators_RungeKuttaFehlberg78Integrator
    test_integrators_RungeKutta87DormandPrinceIntegrator
    test_quadrature_GaussianQuadrature
    test_io_MapTextFileReader
    test_io_MatrixTextFileReader
    test_io_TwoLineElementsTextFileReader
    test_io_MissileDatcomReader
    test_io_MissileDatcomData
    test_io_DictionaryInputSystem
    test_io_MultiArrayReader
    test_io_MultiArrayWriter
    test_io_AerodynamicCoefficientReader
DominicDirkx commented 3 years ago

Hi Geoffrey, if I understand correctly this is now resolved right?

geoffreygarrett commented 3 years ago

Resolved through the tudat-resources dependency.

DominicDirkx commented 3 years ago

That's what I thought :) Thanks!