29 lines
696 B
C++
29 lines
696 B
C++
|
#include "tests.h"
|
||
|
#include "effects.h"
|
||
|
|
||
|
namespace tests {
|
||
|
void run() {
|
||
|
LOGln("Tests * Running test for memory leaks...");
|
||
|
test_effects_for_memory_leaks();
|
||
|
}
|
||
|
|
||
|
void test_effects_for_memory_leaks() {
|
||
|
int i=0;
|
||
|
Effect* effect;
|
||
|
int32_t diffs[3] = {0, 0, 0};
|
||
|
int32_t usage = 0;
|
||
|
while (1) {
|
||
|
for (int j=0; j<3; j++) {
|
||
|
int free_at_start = ESP.getFreeHeap();
|
||
|
effect = select_effect(i);
|
||
|
if (j==0) usage = free_at_start - ESP.getFreeHeap();
|
||
|
if (effect == NULL) return;
|
||
|
delete effect;
|
||
|
diffs[j] = free_at_start - ESP.getFreeHeap();
|
||
|
}
|
||
|
LOGln("Tests * Memory usage of effect #%d: %d, leakage %d, %d, %d", i, usage, diffs[0], diffs[1], diffs[2]);
|
||
|
i++;
|
||
|
}
|
||
|
}
|
||
|
}
|