mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-08 21:48:09 +02:00
* Script to test for memory leaks
git-svn-id: trunk@24771 -
This commit is contained in:
parent
98c9425c8b
commit
998da11ecd
3
.gitattributes
vendored
3
.gitattributes
vendored
@ -2188,12 +2188,14 @@ packages/fcl-db/tests/dbtestframework_gui.lpr svneol=native#text/plain
|
||||
packages/fcl-db/tests/inieditor.lfm svneol=native#text/plain
|
||||
packages/fcl-db/tests/inieditor.pas svneol=native#text/plain
|
||||
packages/fcl-db/tests/memdstoolsunit.pas svneol=native#text/plain
|
||||
packages/fcl-db/tests/reruntest.sh svneol=native#text/plain
|
||||
packages/fcl-db/tests/sdfdstoolsunit.pas svneol=native#text/plain
|
||||
packages/fcl-db/tests/sqldbtoolsunit.pas svneol=native#text/plain
|
||||
packages/fcl-db/tests/tcgensql.pas svneol=native#text/plain
|
||||
packages/fcl-db/tests/tcparser.pas svneol=native#text/plain
|
||||
packages/fcl-db/tests/tcsdfdata.pp svneol=native#text/plain
|
||||
packages/fcl-db/tests/tcsqlscanner.pas svneol=native#text/plain
|
||||
packages/fcl-db/tests/test-list.txt svneol=native#text/plain
|
||||
packages/fcl-db/tests/test.json svneol=native#text/plain
|
||||
packages/fcl-db/tests/testbasics.pas svneol=native#text/plain
|
||||
packages/fcl-db/tests/testbufdatasetstreams.pas svneol=native#text/plain
|
||||
@ -2203,6 +2205,7 @@ packages/fcl-db/tests/testdbexport.pas svneol=native#text/plain
|
||||
packages/fcl-db/tests/testdddiff.pp svneol=native#text/plain
|
||||
packages/fcl-db/tests/testfieldtypes.pas svneol=native#text/plain
|
||||
packages/fcl-db/tests/testjsondataset.pp svneol=native#text/plain
|
||||
packages/fcl-db/tests/testleaks.sh svneol=native#text/plain
|
||||
packages/fcl-db/tests/testspecifictbufdataset.pas svneol=native#text/plain
|
||||
packages/fcl-db/tests/testspecifictdbf.pas svneol=native#text/plain
|
||||
packages/fcl-db/tests/testsqlfiles.lpi svneol=native#text/plain
|
||||
|
19
packages/fcl-db/tests/reruntest.sh
Executable file
19
packages/fcl-db/tests/reruntest.sh
Executable file
@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
cd ..
|
||||
make clean all OPT=-gl
|
||||
if [ $? != 0 ]; then
|
||||
exit
|
||||
fi
|
||||
cd tests
|
||||
fpc dbtestframework.pas -glh -Fu../units/x86_64-linux/
|
||||
if [ $? != 0 ]; then
|
||||
exit
|
||||
fi
|
||||
if [ "$1" != "" ]; then
|
||||
./dbtestframework --suite=$1
|
||||
else
|
||||
./dbtestframework
|
||||
fi
|
||||
#
|
||||
#
|
||||
|
261
packages/fcl-db/tests/test-list.txt
Normal file
261
packages/fcl-db/tests/test-list.txt
Normal file
@ -0,0 +1,261 @@
|
||||
TTestBasics.TestParseSQL
|
||||
TTestBasics.TestInitFielddefsFromFields
|
||||
TTestBasics.TestDoubleFieldDef
|
||||
TTestBasics.TestFieldDefWithoutDS
|
||||
TTestBasics.TestGetParamList
|
||||
TTestBasics.TestGetFieldList
|
||||
TTestBasics.TestExtractFieldName
|
||||
TTestFieldTypes.TestEmptyUpdateQuery
|
||||
TTestFieldTypes.TestParseJoins
|
||||
TTestFieldTypes.TestDoubleFieldNames
|
||||
TTestFieldTypes.TestParseUnion
|
||||
TTestFieldTypes.TestInsertLargeStrFields
|
||||
TTestFieldTypes.TestNumericNames
|
||||
TTestFieldTypes.TestApplyUpdFieldnames
|
||||
TTestFieldTypes.TestServerFilter
|
||||
TTestFieldTypes.Test11Params
|
||||
TTestFieldTypes.TestRowsAffected
|
||||
TTestFieldTypes.TestLocateNull
|
||||
TTestFieldTypes.TestLocateOnMoreRecords
|
||||
TTestFieldTypes.TestStringsReplace
|
||||
TTestFieldTypes.TestCircularParams
|
||||
TTestFieldTypes.TestBug9744
|
||||
TTestFieldTypes.TestCrossStringDateParam
|
||||
TTestFieldTypes.TestGetFieldNames
|
||||
TTestFieldTypes.TestUpdateIndexDefs
|
||||
TTestFieldTypes.TestMultipleFieldPKIndexDefs
|
||||
TTestFieldTypes.TestGetIndexDefs
|
||||
TTestFieldTypes.TestSetBlobAsMemoParam
|
||||
TTestFieldTypes.TestSetBlobAsBlobParam
|
||||
TTestFieldTypes.TestSetBlobAsStringParam
|
||||
TTestFieldTypes.TestNonNullableParams
|
||||
TTestFieldTypes.TestDblQuoteEscComments
|
||||
TTestFieldTypes.TestpfInUpdateFlag
|
||||
TTestFieldTypes.TestScript
|
||||
TTestFieldTypes.TestInsertReturningQuery
|
||||
TTestFieldTypes.TestOpenStoredProc
|
||||
TTestFieldTypes.TestOpenSpecialStatements
|
||||
TTestFieldTypes.TestTemporaryTable
|
||||
TTestFieldTypes.TestRefresh
|
||||
TTestFieldTypes.TestParametersAndDates
|
||||
TTestFieldTypes.TestExceptOnsecClose
|
||||
TTestFieldTypes.TestErrorOnEmptyStatement
|
||||
TTestFieldTypes.TestBlob
|
||||
TTestFieldTypes.TestChangeBlob
|
||||
TTestFieldTypes.TestBlobGetText
|
||||
TTestFieldTypes.TestBlobSize
|
||||
TTestFieldTypes.TestLargeRecordSize
|
||||
TTestFieldTypes.TestInt
|
||||
TTestFieldTypes.TestNumeric
|
||||
TTestFieldTypes.TestFloat
|
||||
TTestFieldTypes.TestDate
|
||||
TTestFieldTypes.TestDateTime
|
||||
TTestFieldTypes.TestString
|
||||
TTestFieldTypes.TestUnlVarChar
|
||||
TTestFieldTypes.TestNullValues
|
||||
TTestFieldTypes.TestParamQuery
|
||||
TTestFieldTypes.TestStringParamQuery
|
||||
TTestFieldTypes.TestFixedStringParamQuery
|
||||
TTestFieldTypes.TestDateParamQuery
|
||||
TTestFieldTypes.TestSmallIntParamQuery
|
||||
TTestFieldTypes.TestIntParamQuery
|
||||
TTestFieldTypes.TestLargeIntParamQuery
|
||||
TTestFieldTypes.TestTimeParamQuery
|
||||
TTestFieldTypes.TestDateTimeParamQuery
|
||||
TTestFieldTypes.TestFmtBCDParamQuery
|
||||
TTestFieldTypes.TestFloatParamQuery
|
||||
TTestFieldTypes.TestBCDParamQuery
|
||||
TTestFieldTypes.TestBytesParamQuery
|
||||
TTestFieldTypes.TestVarBytesParamQuery
|
||||
TTestFieldTypes.TestBooleanParamQuery
|
||||
TTestFieldTypes.TestAggregates
|
||||
TTestFieldTypes.TestStringLargerThen8192
|
||||
TTestFieldTypes.TestQueryAfterReconnect
|
||||
TTestFieldTypes.TestTableNames
|
||||
TTestFieldTypes.TestFieldNames
|
||||
TTestFieldTypes.TestClearUpdateableStatus
|
||||
TTestFieldTypes.TestReadOnlyParseSQL
|
||||
TTestFieldTypes.TestGetTables
|
||||
TTestFieldTypes.TestSQLClob
|
||||
TTestFieldTypes.TestSQLLargeint
|
||||
TTestFieldTypes.TestSQLInterval
|
||||
TTestFieldTypes.TestSQLIdentity
|
||||
TTestFieldTypes.TestSQLReal
|
||||
TTestDBBasics.TestSetFieldValues
|
||||
TTestDBBasics.TestGetFieldValues
|
||||
TTestDBBasics.TestSupportIntegerFields
|
||||
TTestDBBasics.TestSupportSmallIntFields
|
||||
TTestDBBasics.TestSupportWordFields
|
||||
TTestDBBasics.TestSupportStringFields
|
||||
TTestDBBasics.TestSupportBooleanFields
|
||||
TTestDBBasics.TestSupportFloatFields
|
||||
TTestDBBasics.TestSupportLargeIntFields
|
||||
TTestDBBasics.TestSupportDateFields
|
||||
TTestDBBasics.TestSupportTimeFields
|
||||
TTestDBBasics.TestSupportCurrencyFields
|
||||
TTestDBBasics.TestSupportBCDFields
|
||||
TTestDBBasics.TestSupportfmtBCDFields
|
||||
TTestDBBasics.TestSupportFixedStringFields
|
||||
TTestDBBasics.TestSupportBlobFields
|
||||
TTestDBBasics.TestSupportMemoFields
|
||||
TTestDBBasics.TestDoubleClose
|
||||
TTestDBBasics.TestCalculatedField
|
||||
TTestDBBasics.TestAssignFieldftString
|
||||
TTestDBBasics.TestAssignFieldftFixedChar
|
||||
TTestDBBasics.TestSelectQueryBasics
|
||||
TTestDBBasics.TestPostOnlyInEditState
|
||||
TTestDBBasics.TestMove
|
||||
TTestDBBasics.TestActiveBufferWhenClosed
|
||||
TTestDBBasics.TestEOFBOFClosedDataset
|
||||
TTestDBBasics.TestLayoutChangedEvents
|
||||
TTestDBBasics.TestDataEventsResync
|
||||
TTestDBBasics.TestRecordcountAfterReopen
|
||||
TTestDBBasics.TestdeFieldListChange
|
||||
TTestDBBasics.TestExceptionLocateClosed
|
||||
TTestDBBasics.TestCanModifySpecialFields
|
||||
TTestDBBasics.TestDetectionNonMatchingDataset
|
||||
TTestCursorDBBasics.TestCancelUpdDelete1
|
||||
TTestCursorDBBasics.TestCancelUpdDelete2
|
||||
TTestCursorDBBasics.TestAppendInsertRecord
|
||||
TTestCursorDBBasics.TestBookmarks
|
||||
TTestCursorDBBasics.TestBookmarkValid
|
||||
TTestCursorDBBasics.TestDelete1
|
||||
TTestCursorDBBasics.TestDelete2
|
||||
TTestCursorDBBasics.TestLocate
|
||||
TTestCursorDBBasics.TestLocateCaseIns
|
||||
TTestCursorDBBasics.TestLocateCaseInsInts
|
||||
TTestCursorDBBasics.TestFirst
|
||||
TTestCursorDBBasics.TestIntFilter
|
||||
TTestCursorDBBasics.TestOnFilter
|
||||
TTestCursorDBBasics.TestStringFilter
|
||||
TTestCursorDBBasics.TestNullAtOpen
|
||||
TTestCursorDBBasics.TestAppendOnEmptyDataset
|
||||
TTestCursorDBBasics.TestInsertOnEmptyDataset
|
||||
TTestCursorDBBasics.TestEofAfterFirst
|
||||
TTestCursorDBBasics.TestLastAppendCancel
|
||||
TTestCursorDBBasics.TestRecNo
|
||||
TTestCursorDBBasics.TestSetRecNo
|
||||
TTestCursorDBBasics.TestBug7007
|
||||
TTestCursorDBBasics.TestBug6893
|
||||
TTestCursorDBBasics.TestRequired
|
||||
TTestCursorDBBasics.TestOldValueObsolete
|
||||
TTestCursorDBBasics.TestOldValue
|
||||
TTestCursorDBBasics.TestModified
|
||||
TTestBufDatasetDBBasics.TestClosedIndexFieldNames
|
||||
TTestBufDatasetDBBasics.TestFileNameProperty
|
||||
TTestBufDatasetDBBasics.TestClientDatasetAsMemDataset
|
||||
TTestBufDatasetDBBasics.TestSaveAsXML
|
||||
TTestBufDatasetDBBasics.TestIsEmpty
|
||||
TTestBufDatasetDBBasics.TestBufDatasetCancelUpd
|
||||
TTestBufDatasetDBBasics.TestBufDatasetCancelUpd1
|
||||
TTestBufDatasetDBBasics.TestMultipleDeleteUpdateBuffer
|
||||
TTestBufDatasetDBBasics.TestDoubleDelete
|
||||
TTestBufDatasetDBBasics.TestReadOnly
|
||||
TTestBufDatasetDBBasics.TestMergeChangeLog
|
||||
TTestBufDatasetDBBasics.TestAddIndexInteger
|
||||
TTestBufDatasetDBBasics.TestAddIndexSmallInt
|
||||
TTestBufDatasetDBBasics.TestAddIndexBoolean
|
||||
TTestBufDatasetDBBasics.TestAddIndexFloat
|
||||
TTestBufDatasetDBBasics.TestAddIndexLargeInt
|
||||
TTestBufDatasetDBBasics.TestAddIndexDateTime
|
||||
TTestBufDatasetDBBasics.TestAddIndexCurrency
|
||||
TTestBufDatasetDBBasics.TestAddIndexBCD
|
||||
TTestBufDatasetDBBasics.TestAddIndex
|
||||
TTestBufDatasetDBBasics.TestAddDescIndex
|
||||
TTestBufDatasetDBBasics.TestAddCaseInsIndex
|
||||
TTestBufDatasetDBBasics.TestInactSwitchIndex
|
||||
TTestBufDatasetDBBasics.TestAddIndexActiveDS
|
||||
TTestBufDatasetDBBasics.TestAddIndexEditDS
|
||||
TTestBufDatasetDBBasics.TestIndexFieldNames
|
||||
TTestBufDatasetDBBasics.TestIndexFieldNamesAct
|
||||
TTestBufDatasetDBBasics.TestIndexCurRecord
|
||||
TTestBufDatasetDBBasics.TestAddDblIndex
|
||||
TTestBufDatasetDBBasics.TestIndexEditRecord
|
||||
TTestBufDatasetDBBasics.TestIndexAppendRecord
|
||||
TTestUniDirectionalDBBasics.TestSetFieldValues
|
||||
TTestUniDirectionalDBBasics.TestGetFieldValues
|
||||
TTestUniDirectionalDBBasics.TestSupportIntegerFields
|
||||
TTestUniDirectionalDBBasics.TestSupportSmallIntFields
|
||||
TTestUniDirectionalDBBasics.TestSupportWordFields
|
||||
TTestUniDirectionalDBBasics.TestSupportStringFields
|
||||
TTestUniDirectionalDBBasics.TestSupportBooleanFields
|
||||
TTestUniDirectionalDBBasics.TestSupportFloatFields
|
||||
TTestUniDirectionalDBBasics.TestSupportLargeIntFields
|
||||
TTestUniDirectionalDBBasics.TestSupportDateFields
|
||||
TTestUniDirectionalDBBasics.TestSupportTimeFields
|
||||
TTestUniDirectionalDBBasics.TestSupportCurrencyFields
|
||||
TTestUniDirectionalDBBasics.TestSupportBCDFields
|
||||
TTestUniDirectionalDBBasics.TestSupportfmtBCDFields
|
||||
TTestUniDirectionalDBBasics.TestSupportFixedStringFields
|
||||
TTestUniDirectionalDBBasics.TestSupportBlobFields
|
||||
TTestUniDirectionalDBBasics.TestSupportMemoFields
|
||||
TTestUniDirectionalDBBasics.TestDoubleClose
|
||||
TTestUniDirectionalDBBasics.TestCalculatedField
|
||||
TTestUniDirectionalDBBasics.TestAssignFieldftString
|
||||
TTestUniDirectionalDBBasics.TestAssignFieldftFixedChar
|
||||
TTestUniDirectionalDBBasics.TestSelectQueryBasics
|
||||
TTestUniDirectionalDBBasics.TestPostOnlyInEditState
|
||||
TTestUniDirectionalDBBasics.TestMove
|
||||
TTestUniDirectionalDBBasics.TestActiveBufferWhenClosed
|
||||
TTestUniDirectionalDBBasics.TestEOFBOFClosedDataset
|
||||
TTestUniDirectionalDBBasics.TestLayoutChangedEvents
|
||||
TTestUniDirectionalDBBasics.TestDataEventsResync
|
||||
TTestUniDirectionalDBBasics.TestRecordcountAfterReopen
|
||||
TTestUniDirectionalDBBasics.TestdeFieldListChange
|
||||
TTestUniDirectionalDBBasics.TestExceptionLocateClosed
|
||||
TTestUniDirectionalDBBasics.TestCanModifySpecialFields
|
||||
TTestUniDirectionalDBBasics.TestDetectionNonMatchingDataset
|
||||
TTestBufDatasetStreams.TestSimpleEditCancelUpd
|
||||
TTestBufDatasetStreams.TestSimpleDeleteCancelUpd
|
||||
TTestBufDatasetStreams.TestMoreDeletesCancelUpd
|
||||
TTestBufDatasetStreams.TestSimpleInsertCancelUpd
|
||||
TTestBufDatasetStreams.MoreInsertsCancelUpd
|
||||
TTestBufDatasetStreams.SeveralEditsCancelUpd
|
||||
TTestBufDatasetStreams.DeleteAllCancelUpd
|
||||
TTestBufDatasetStreams.DeleteAllInsertCancelUpd
|
||||
TTestBufDatasetStreams.AppendDeleteCancelUpd
|
||||
TTestBufDatasetStreams.TestSimpleEditApplUpd
|
||||
TTestBufDatasetStreams.TestSimpleDeleteApplUpd
|
||||
TTestBufDatasetStreams.TestMoreDeletesApplUpd
|
||||
TTestBufDatasetStreams.TestSimpleInsertApplUpd
|
||||
TTestBufDatasetStreams.MoreInsertsApplUpd
|
||||
TTestBufDatasetStreams.SeveralEditsApplUpd
|
||||
TTestBufDatasetStreams.DeleteAllApplUpd
|
||||
TTestBufDatasetStreams.DeleteAllInsertApplUpd
|
||||
TTestBufDatasetStreams.NullInsertUpdateApplUpd
|
||||
TTestBufDatasetStreams.TestBasicsXML
|
||||
TTestBufDatasetStreams.TestSimpleEditXML
|
||||
TTestBufDatasetStreams.TestSimpleDeleteXML
|
||||
TTestBufDatasetStreams.TestMoreDeletesXML
|
||||
TTestBufDatasetStreams.TestSimpleInsertXML
|
||||
TTestBufDatasetStreams.TestMoreInsertsXML
|
||||
TTestBufDatasetStreams.TestSeveralEditsXML
|
||||
TTestBufDatasetStreams.TestDeleteAllXML
|
||||
TTestBufDatasetStreams.TestDeleteAllInsertXML
|
||||
TTestBufDatasetStreams.TestStreamingBlobFieldsXML
|
||||
TTestBufDatasetStreams.TestStreamingBigBlobFieldsXML
|
||||
TTestBufDatasetStreams.TestStreamingCalculatedFieldsXML
|
||||
TTestBufDatasetStreams.TestAppendDeleteBIN
|
||||
TTestBufDatasetStreams.TestFileNameProperty
|
||||
TTestBufDatasetStreams.TestXmlFileRecognition
|
||||
TTestBufDatasetStreams.TestCloseDatasetNoConnection
|
||||
TTestDBExport.TestDBFExport_DBaseIV
|
||||
TTestDBExport.TestDBFExport_DBaseVII
|
||||
TTestDBExport.TestDBFExport_FoxPro
|
||||
TTestDBExport.TestCSVExport
|
||||
TTestDBExport.TestCSVExport_RFC4180WithHeader
|
||||
TTestDBExport.TestCSVExport_TweakSettingsSemicolon
|
||||
TTestDBExport.TestFixedTextExport
|
||||
TTestDBExport.TestJSONExport
|
||||
TTestDBExport.TestRTFExport
|
||||
TTestDBExport.TestSQLExport
|
||||
TTestDBExport.TestTeXExport
|
||||
TTestDBExport.TestXMLExport
|
||||
TTestDBExport.TestXSDExport_Access_NoXSD_DecimalOverride
|
||||
TTestDBExport.TestXSDExport_Access_NoXSD_NoDecimalOverride
|
||||
TTestDBExport.TestXSDExport_Access_XSD_DecimalOverride
|
||||
TTestDBExport.TestXSDExport_Access_XSD_NoDecimalOverride
|
||||
TTestDBExport.TestXSDExport_ADONET_NoXSD
|
||||
TTestDBExport.TestXSDExport_ADONET_XSD
|
||||
TTestDBExport.TestXSDExport_DelphiClientDataset
|
||||
TTestDBExport.TestXSDExport_Excel
|
30
packages/fcl-db/tests/testleaks.sh
Executable file
30
packages/fcl-db/tests/testleaks.sh
Executable file
@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
echo "Compiling test framework";
|
||||
fpc -glh dbtestframework.pas
|
||||
if [ $? != 0 ]; then
|
||||
echo "Compilation failed";
|
||||
exit
|
||||
fi
|
||||
for f in `cat test-list.txt`
|
||||
do
|
||||
echo -n "Doing test $f"
|
||||
./dbtestframework --suite=$f > $f-mem.txt 2>&1
|
||||
grep '^0 unfreed memory blocks' $f-mem.txt >/dev/null 2>&1
|
||||
EC=$?
|
||||
if [ $EC = 1 ]; then
|
||||
echo "Error:"
|
||||
echo "Memory leak in $f"
|
||||
else
|
||||
if [ $EC = 0 ]; then
|
||||
echo "OK, removing log file."
|
||||
rm $f-mem.txt
|
||||
fi
|
||||
fi
|
||||
done
|
||||
NOTESTS=`cat test-list.txt | wc -l`
|
||||
grep -L '^0 unfreed memory blocks' *-mem.txt > leaklist.txt
|
||||
NOLEAKS=`cat leaklist.txt | wc -l`
|
||||
echo "Failures:"
|
||||
cat leaklist.txt
|
||||
echo "$NOTESTS tests performed, $NOLEAKS tests have memleak"
|
||||
# done
|
Loading…
Reference in New Issue
Block a user