Make sure tests run through again. Also cleaned them up a little removing the memory-leaks.

Many tests for burnings-renderer fail atm, but probably just because renderer was improved and tests would need new reference images.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3351 dfc29bdd-3216-0410-991c-e03cc46cb475
master
cutealien 2010-07-16 20:29:07 +00:00
parent 0f94624fef
commit a716532bb0
10 changed files with 53 additions and 18 deletions

View File

@ -87,6 +87,8 @@ bool testArchive(IFileSystem* fs, const io::path& archiveName)
if ( fs->getFileArchiveCount() )
return false;
readFile->drop();
return true;
}
@ -178,6 +180,8 @@ bool testEncryptedZip(IFileSystem* fs)
if ( fs->getFileArchiveCount() )
return false;
readFile->drop();
return true;
}
@ -201,6 +205,9 @@ bool archiveReader()
ret &= testArchive(fs, "media/file_with_path.npk");
logTestString("Testing encrypted zip files.\n");
ret &= testEncryptedZip(fs);
device->drop();
return ret;
}

View File

@ -151,6 +151,10 @@ bool filesystem(void)
result &= testFlattenFilename(fs);
result &= testgetAbsoluteFilename(fs);
device->drop();
return result;
}

View File

@ -80,5 +80,7 @@ bool meshTransform(void)
result = takeScreenshotAndCompareAgainstReference(driver, "-meshTransform.png");
device->drop();
return result;
}

View File

@ -315,5 +315,7 @@ bool serializeAttributes()
logTestString("XmlSerialization failed in %s:%d\n", __FILE__, __LINE__ );
}
device->drop();
return result;
}

View File

@ -28,36 +28,48 @@ bool testGeometryCreator(void)
material.Lighting = false;
material.TextureLayer[0].Texture = wall;
IMeshSceneNode * node = smgr->addMeshSceneNode(
geom->createHillPlaneMesh(dimension2df(10, 5), dimension2du(5, 5),
&material, 10, dimension2df(2, 2), dimension2df(3, 3)), 0, -1,
irr::scene::IMesh * meshHill = geom->createHillPlaneMesh(dimension2df(10, 5), dimension2du(5, 5),
&material, 10, dimension2df(2, 2), dimension2df(3, 3) );
IMeshSceneNode * node = smgr->addMeshSceneNode(meshHill, 0, -1,
vector3df(0, 10, 0), vector3df(-60, 0, 0));
meshHill->drop();
node = smgr->addMeshSceneNode(geom->createArrowMesh(4, 8, 10, 6, 3, 6,
SColor(255, 255, 0, 0), SColor(255, 0, 255, 0)),
0, -1, vector3df(-10, -20, 0));
irr::scene::IMesh * meshArrow = geom->createArrowMesh(4, 8, 10, 6, 3, 6,
SColor(255, 255, 0, 0), SColor(255, 0, 255, 0));
node = smgr->addMeshSceneNode(meshArrow, 0, -1, vector3df(-10, -20, 0));
node->setMaterialFlag(video::EMF_LIGHTING, false);
meshArrow->drop();
node = smgr->addMeshSceneNode(geom->createConeMesh(5.f, 10.f, 16), 0, -1, vector3df(-35, -20, 0));
irr::scene::IMesh * meshCone = geom->createConeMesh(5.f, 10.f, 16);
node = smgr->addMeshSceneNode(meshCone, 0, -1, vector3df(-35, -20, 0));
node->setMaterialFlag(video::EMF_LIGHTING, false);
node->setMaterialTexture(0, wall);
meshCone->drop();
node = smgr->addMeshSceneNode(geom->createCubeMesh(), 0, -1, vector3df(-20, -20, 0));
irr::scene::IMesh * meshCube = geom->createCubeMesh();
node = smgr->addMeshSceneNode(meshCube, 0, -1, vector3df(-20, -20, 0));
node->setMaterialFlag(video::EMF_LIGHTING, false);
node->setMaterialTexture(0, wall);
meshCube->drop();
node = smgr->addMeshSceneNode(geom->createCylinderMesh(3, 10, 16), 0, -1, vector3df(0, -20, 10), core::vector3df(45,0,0));
irr::scene::IMesh * meshCylinder = geom->createCylinderMesh(3, 10, 16);
node = smgr->addMeshSceneNode(meshCylinder, 0, -1, vector3df(0, -20, 10), core::vector3df(45,0,0));
node->setMaterialFlag(video::EMF_LIGHTING, false);
node->setMaterialTexture(0, wall);
meshCylinder->drop();
node = smgr->addMeshSceneNode(geom->createSphereMesh(), 0, -1, vector3df(10, -15, 0));
irr::scene::IMesh * meshSphere = geom->createSphereMesh();
node = smgr->addMeshSceneNode(meshSphere, 0, -1, vector3df(10, -15, 0));
node->setMaterialFlag(video::EMF_LIGHTING, false);
node->setMaterialTexture(0, wall);
meshSphere->drop();
node = smgr->addMeshSceneNode(geom->createVolumeLightMesh(), 0, -1, vector3df(20, -20, -10));
irr::scene::IMesh * meshVolumeLight = geom->createVolumeLightMesh();
node = smgr->addMeshSceneNode(meshVolumeLight, 0, -1, vector3df(20, -20, -10));
node->setMaterialFlag(video::EMF_LIGHTING, false);
node->setMaterialTexture(0, wall);
node->setScale(core::vector3df(4.f,4.f,4.f));
meshVolumeLight->drop();
bool result = false;
device->run();

View File

@ -38,6 +38,8 @@ bool testXML(void)
}
reader->drop();
device->drop();
return retVal;
}

View File

@ -1,4 +1,4 @@
Tests finished. 54 tests of 54 passed.
Tests finished. 6 tests of 6 passed.
Compiled as DEBUG
Test suite pass at GMT Thu Mar 11 23:23:09 2010
Test suite pass at GMT Fri Jul 16 20:23:21 2010

View File

@ -43,5 +43,7 @@ bool testTimer(void)
timer->start();
success &= !timer->isStopped();
device->drop();
return success;
}

View File

@ -67,6 +67,7 @@ bool writeImageToFile(void)
irr::video::IImage * fixedScreenshot = driver->createImage(video::ECF_R8G8B8, screenshot->getDimension());
screenshot->copyTo(fixedScreenshot);
screenshot->drop();
screenshot = 0;
if(!fixedScreenshot)
{
@ -109,14 +110,17 @@ bool writeImageToFile(void)
referenceFilename = "media/Burning's Video-drawPixel.png";
if(!binaryCompareFiles(writtenFilename, referenceFilename))
{
logTestString("File written from memory is not the same as the reference file.\n");
assert(false);
logTestString("File written from memory is not the same as the reference file. %s:%d\n" , __FILE__, __LINE__);
// assert(false);
goto cleanup;
}
result = true;
cleanup:
if ( screenshot )
screenshot->drop();
if(writtenFile)
writtenFile->drop();