Commit d0fa78ad authored by Giovanni La Mura's avatar Giovanni La Mura
Browse files

Create output class unit tests and add them to pipeline

parent 526ff9ce
Loading
Loading
Loading
Loading
+6 −1
Original line number Original line Diff line number Diff line
@@ -186,10 +186,15 @@ sanity_stage:
      - echo $CI_COMMIT_SHA
      - echo $CI_COMMIT_SHA
      - echo $CI_COMMIT_BRANCH
      - echo $CI_COMMIT_BRANCH
      - cd build/testing
      - cd build/testing
      - echo "Running memory sanity check"
      - echo "Running memory sanity check for ParticleDescriptor"
      - chmod +x test_ParticleDescriptor
      - chmod +x test_ParticleDescriptor
      - valgrind --leak-check=full --log-file=valgrind.log ./test_ParticleDescriptor
      - valgrind --leak-check=full --log-file=valgrind.log ./test_ParticleDescriptor
      - grep "no leaks are possible" valgrind.log
      - grep "no leaks are possible" valgrind.log
      - echo "Running memory sanity check for output classes"
      - chmod +x test_outputs
      - rm valgrind.log
      - valgrind --leak-check=full --log-file=valgrind.log ./test_outputs
      - grep "no leaks are possible" valgrind.log
      
      
running_stage:
running_stage:
   stage: run
   stage: run
+5 −2
Original line number Original line Diff line number Diff line
@@ -29,8 +29,8 @@ NP_SPHERE_BINS=sphere/np_sphere
NP_TRAPPING_SRCS=../src/trapping/np_trapping.cpp ../src/trapping/cfrfme.cpp ../src/trapping/clffft.cpp
NP_TRAPPING_SRCS=../src/trapping/np_trapping.cpp ../src/trapping/cfrfme.cpp ../src/trapping/clffft.cpp
NP_TRAPPING_OBJS=../src/trapping/np_trapping.o ../src/trapping/cfrfme.o ../src/trapping/clffft.o
NP_TRAPPING_OBJS=../src/trapping/np_trapping.o ../src/trapping/cfrfme.o ../src/trapping/clffft.o
NP_TRAPPING_BINS=trapping/np_trapping
NP_TRAPPING_BINS=trapping/np_trapping
NP_TESTING_OBJS=../src/testing/test_ParticleDescriptor.o ../src/testing/test_TEDF.o ../src/testing/test_TTMS.o
NP_TESTING_OBJS=../src/testing/test_outputs.o ../src/testing/test_ParticleDescriptor.o ../src/testing/test_TEDF.o ../src/testing/test_TTMS.o
NP_TESTING_BINS=testing/test_ParticleDescriptor testing/test_TEDF testing/test_TTMS
NP_TESTING_BINS=testing/test_outputs testing/test_ParticleDescriptor testing/test_TEDF testing/test_TTMS


all: $(NPTM_LIB) $(FORTRAN_BINS) $(NP_CLUSTER_BINS) $(NP_INCLUSION_BINS) $(NP_SPHERE_BINS) $(NP_TRAPPING_BINS) $(NP_TESTING_BINS)
all: $(NPTM_LIB) $(FORTRAN_BINS) $(NP_CLUSTER_BINS) $(NP_INCLUSION_BINS) $(NP_SPHERE_BINS) $(NP_TRAPPING_BINS) $(NP_TESTING_BINS)


@@ -83,6 +83,9 @@ trapping/np_trapping: $(NPTM_LIB) $(NP_TRAPPING_OBJS)
testing/test_ParticleDescriptor: $(NPTM_LIB) ../src/testing/test_ParticleDescriptor.o
testing/test_ParticleDescriptor: $(NPTM_LIB) ../src/testing/test_ParticleDescriptor.o
	$(CXX) $(CXXFLAGS) ../src/testing/test_ParticleDescriptor.o -o $@ $(CXXLDFLAGS)
	$(CXX) $(CXXFLAGS) ../src/testing/test_ParticleDescriptor.o -o $@ $(CXXLDFLAGS)


testing/test_outputs: $(NPTM_LIB) ../src/testing/test_outputs.o
	$(CXX) $(CXXFLAGS) ../src/testing/test_outputs.o -o $@ $(CXXLDFLAGS)

testing/test_TEDF: $(NPTM_LIB) ../src/testing/test_TEDF.o
testing/test_TEDF: $(NPTM_LIB) ../src/testing/test_TEDF.o
	$(CXX) $(CXXFLAGS) ../src/testing/test_TEDF.o -o $@ $(CXXLDFLAGS)
	$(CXX) $(CXXFLAGS) ../src/testing/test_TEDF.o -o $@ $(CXXLDFLAGS)


+11 −59
Original line number Original line Diff line number Diff line
@@ -16,19 +16,20 @@
#include "../include/Commons.h"
#include "../include/Commons.h"
#endif
#endif


#ifndef INCLUDE_OUTPUTS_H_
#include "../include/outputs.h"
#endif

using namespace std;
using namespace std;


int test_cluster_case_3();
int test_cluster_case_3();
int test_cluster_devel();
int test_inclusion();
int test_sphere();


int main() {
int main() {
  int result = 0;
  int result = 0;
  result += test_sphere(); // 1 if failed
  // result += test_sphere(); // 1 if failed
  result += test_cluster_devel(); // 10 if failed
  // result += test_cluster_devel(); // 10 if failed
  result += test_cluster_case_3(); // 100 if failed
  result += test_cluster_case_3(); // 100 if failed
  result += test_inclusion(); // 1000 if failed
  // result += test_inclusion(); // 1000 if failed
  return result;
  return result;
}
}


@@ -37,65 +38,16 @@ int test_cluster_case_3() {
  try {
  try {
    const string geom_data_file = "../../test_data/cluster/case_3/DCLU";
    const string geom_data_file = "../../test_data/cluster/case_3/DCLU";
    const string scat_data_file = "../../test_data/cluster/case_3/DEDFB_33";
    const string scat_data_file = "../../test_data/cluster/case_3/DEDFB_33";
    mixMPI *mpidata = new mixMPI();
    GeometryConfiguration *gconf = GeometryConfiguration::from_legacy(geom_data_file);
    GeometryConfiguration *gconf = GeometryConfiguration::from_legacy(geom_data_file);
    ScattererConfiguration *sconf = ScattererConfiguration::from_dedfb(scat_data_file);
    ScattererConfiguration *sconf = ScattererConfiguration::from_dedfb(scat_data_file);
    ParticleDescriptor *pd = new ParticleDescriptorCluster(gconf, sconf);
    ClusterOutputInfo *oi = new ClusterOutputInfo(sconf, gconf, mpidata);
    delete gconf;
    delete gconf;
    delete sconf;
    delete sconf;
    delete pd;
    delete oi;
    delete mpidata;
  } catch (const exception& ex) {
  } catch (const exception& ex) {
    result = 100;
    result = 100;
  }
  }
  return result;
  return result;
}
}

int test_cluster_devel() {
  int result = 0;
  try {
    const string geom_data_file = "../../test_data/cluster/DCLU";
    const string scat_data_file = "../../test_data/cluster/DEDFB";
    GeometryConfiguration *gconf = GeometryConfiguration::from_legacy(geom_data_file);
    ScattererConfiguration *sconf = ScattererConfiguration::from_dedfb(scat_data_file);
    ParticleDescriptor *pd = new ParticleDescriptorCluster(gconf, sconf);
    delete gconf;
    delete sconf;
    delete pd;
  } catch (const exception& ex) {
    result = 10;
  }
  return result;
}

int test_inclusion() {
  int result = 0;
  try {
    const string geom_data_file = "../../test_data/inclusion/DINCLU";
    const string scat_data_file = "../../test_data/inclusion/DEDFB";
    GeometryConfiguration *gconf = GeometryConfiguration::from_legacy(geom_data_file);
    ScattererConfiguration *sconf = ScattererConfiguration::from_dedfb(scat_data_file);
    ParticleDescriptor *pd = new ParticleDescriptorInclusion(gconf, sconf);
    delete gconf;
    delete sconf;
    delete pd;
  } catch (const exception& ex) {
    result = 1000;
  }
  return result;
}

int test_sphere() {
  int result = 0;
  try {
    const string geom_data_file = "../../test_data/sphere/DSPH";
    const string scat_data_file = "../../test_data/sphere/DEDFB";
    GeometryConfiguration *gconf = GeometryConfiguration::from_legacy(geom_data_file);
    ScattererConfiguration *sconf = ScattererConfiguration::from_dedfb(scat_data_file);
    ParticleDescriptor *pd = new ParticleDescriptorSphere(gconf, sconf);
    delete gconf;
    delete sconf;
    delete pd;
  } catch (const exception& ex) {
    result = 1;
  }
  return result;
}