source: src/unittests/memoryallocatorunittest.cpp@ 9848ba

Action_Thermostats Add_AtomRandomPerturbation Add_FitFragmentPartialChargesAction Add_RotateAroundBondAction Add_SelectAtomByNameAction Added_ParseSaveFragmentResults AddingActions_SaveParseParticleParameters Adding_Graph_to_ChangeBondActions Adding_MD_integration_tests Adding_ParticleName_to_Atom Adding_StructOpt_integration_tests AtomFragments Automaking_mpqc_open AutomationFragmentation_failures Candidate_v1.5.4 Candidate_v1.6.0 Candidate_v1.6.1 ChangeBugEmailaddress ChangingTestPorts ChemicalSpaceEvaluator CombiningParticlePotentialParsing Combining_Subpackages Debian_Package_split Debian_package_split_molecuildergui_only Disabling_MemDebug Docu_Python_wait EmpiricalPotential_contain_HomologyGraph EmpiricalPotential_contain_HomologyGraph_documentation Enable_parallel_make_install Enhance_userguide Enhanced_StructuralOptimization Enhanced_StructuralOptimization_continued Example_ManyWaysToTranslateAtom Exclude_Hydrogens_annealWithBondGraph FitPartialCharges_GlobalError Fix_BoundInBox_CenterInBox_MoleculeActions Fix_ChargeSampling_PBC Fix_ChronosMutex Fix_FitPartialCharges Fix_FitPotential_needs_atomicnumbers Fix_ForceAnnealing Fix_IndependentFragmentGrids Fix_ParseParticles Fix_ParseParticles_split_forward_backward_Actions Fix_PopActions Fix_QtFragmentList_sorted_selection Fix_Restrictedkeyset_FragmentMolecule Fix_StatusMsg Fix_StepWorldTime_single_argument Fix_Verbose_Codepatterns Fix_fitting_potentials Fixes ForceAnnealing_goodresults ForceAnnealing_oldresults ForceAnnealing_tocheck ForceAnnealing_with_BondGraph ForceAnnealing_with_BondGraph_continued ForceAnnealing_with_BondGraph_continued_betteresults ForceAnnealing_with_BondGraph_contraction-expansion FragmentAction_writes_AtomFragments FragmentMolecule_checks_bonddegrees GeometryObjects Gui_Fixes Gui_displays_atomic_force_velocity ImplicitCharges IndependentFragmentGrids IndependentFragmentGrids_IndividualZeroInstances IndependentFragmentGrids_IntegrationTest IndependentFragmentGrids_Sole_NN_Calculation JobMarket_RobustOnKillsSegFaults JobMarket_StableWorkerPool JobMarket_unresolvable_hostname_fix MoreRobust_FragmentAutomation ODR_violation_mpqc_open PartialCharges_OrthogonalSummation PdbParser_setsAtomName PythonUI_with_named_parameters QtGui_reactivate_TimeChanged_changes Recreated_GuiChecks Rewrite_FitPartialCharges RotateToPrincipalAxisSystem_UndoRedo SaturateAtoms_findBestMatching SaturateAtoms_singleDegree StoppableMakroAction Subpackage_CodePatterns Subpackage_JobMarket Subpackage_LinearAlgebra Subpackage_levmar Subpackage_mpqc_open Subpackage_vmg Switchable_LogView ThirdParty_MPQC_rebuilt_buildsystem TrajectoryDependenant_MaxOrder TremoloParser_IncreasedPrecision TremoloParser_MultipleTimesteps TremoloParser_setsAtomName Ubuntu_1604_changes stable
Last change on this file since 9848ba was e6fdbe, checked in by Frederik Heber <heber@…>, 15 years ago

MEMLEAK: In many tests World, MemoryUsageObserver, logger or errorLogger being singletons were instantiated but not destroyed.

  • in some cases respective includes had to be added.
  • Property mode set to 100644
File size: 2.0 KB
Line 
1/*
2 * memoryallocatorunittest.cpp
3 */
4
5
6using namespace std;
7
8#include <cppunit/CompilerOutputter.h>
9#include <cppunit/extensions/TestFactoryRegistry.h>
10#include <cppunit/ui/text/TestRunner.h>
11
12#include "memoryallocator.hpp"
13#include "memoryallocatorunittest.hpp"
14#include "helpers.hpp"
15#include "log.hpp"
16#include "defs.hpp"
17
18#ifdef HAVE_TESTRUNNER
19#include "UnitTestMain.hpp"
20#endif /*HAVE_TESTRUNNER*/
21
22/********************************************** Test classes **************************************/
23
24// Registers the fixture into the 'registry'
25CPPUNIT_TEST_SUITE_REGISTRATION( MemoryAllocatorTest );
26
27
28void MemoryAllocatorTest::setUp()
29{
30};
31
32
33void MemoryAllocatorTest::tearDown()
34{
35 MemoryUsageObserver::getInstance()->purgeInstance();
36 logger::purgeInstance();
37};
38
39/**
40 * UnitTest for Malloc()
41 */
42void MemoryAllocatorTest::MallocTest()
43{
44 int* buffer1 = NULL;
45 buffer1 = Malloc<int>(1, "");
46 Free(&buffer1);
47
48 long* buffer2 = NULL;
49 buffer2 = Malloc<long>(1, "");
50 Free(&buffer2);
51
52 char* buffer3 = NULL;
53 buffer3 = Malloc<char>(4, "");
54 Log() << Verbose(0) << buffer3 << endl;
55 Free(&buffer3);
56
57 char** buffer4 = NULL;
58 buffer4 = Malloc<char*>(10, "");
59 for (int i=0;i<10;i++)
60 buffer4[i] = NULL;
61 Free(&buffer4);
62};
63
64/**
65 * UnitTest for Calloc()
66 */
67void MemoryAllocatorTest::CallocTest()
68{
69 int* buffer1 = NULL;
70 buffer1 = Calloc<int>(10, "");
71 Free(&buffer1);
72
73 long* buffer2 = NULL;
74 buffer2 = Calloc<long>(10, "");
75 Free(&buffer2);
76
77 char** buffer3 = NULL;
78 buffer3 = Calloc<char *>(10, "");
79 for (int i=0;i<10;i++)
80 buffer3[i] = NULL;
81 Free(&buffer3);
82};
83
84/**
85 * UnitTest for ReAlloc()
86 */
87void MemoryAllocatorTest::ReAllocTest()
88{
89 int* buffer1 = NULL;
90 buffer1 = Malloc<int>(1, "");
91 buffer1 = ReAlloc<int>(buffer1, 2, "");
92 Free(&buffer1);
93
94 int* buffer2 = NULL;
95 buffer2 = ReAlloc<int>(buffer2, 2, "");
96 Free(&buffer2);
97};
98
99/**
100 * UnitTest for Free()
101 */
102void MemoryAllocatorTest::FreeTest()
103{
104 char** buffer1 = NULL;
105 Free(buffer1);
106
107 int** buffer2 = NULL;
108 Free(buffer2);
109};
Note: See TracBrowser for help on using the repository browser.