VAStGoodies.com
Your VA Smalltalk OSS repository. Powered by
with
.
Configuration Maps
|
Projects
|
Developers
|
Statistics
|
RSS
|
Disclaimer
|
About
|
Help
Configuration Map Names
AbtOleEdit
AbxProcessPeek
Announcements Core
Announcements Demos Seaside
Announcements Tests
Announcements Tools VA
Cloudfork
Cloudfork ActiveItem
CodeManagement
ComputerTelephony
Compuware SplitterWidget
Flotr Core
Glorp
GlorpTest
GlorpVAPortMap
Goodies - UML Designer
JQuery-plugin Autocomplete
JQuery-plugin Bind
JQuery-plugin QTip
JQuery-plugin Radiobutton and Checkbox
JQuery-plugin Table Sorter
JQuery-plugin Table Sorter Example
JQuery/JQueryUI
JQuery/JQueryUI Tests
JSON
Magritte
Magritte Seaside
Magritte Tests
Mastering ENVY/Developer Refactoring Browser Extensions
MetaTest Browser
MethodPragmas
MethodWrappers
MethodWrappersBase
Modelling
MSKCouchDB
MSKCouchDBWithTests
MSKDyBase
MSKDyBaseWithTests
MSKFFLLInterface
MSKFreeImageWrapper
MSKGeneralDatabase
MSKGLibWrapper
MSKGLibWrapperWithTests
MSKJSONWrapper
MSKJSONWrapperWithTests
MSKLogging
MSKLua
MSKLuaWithTests
MSKMdlPlainRuntime
MSKMSAgentWrapper
MSKOleAdditions
MSKOOBaseDLLWrapper
MSKOOoAutoGenerated
MSKOOoBaseLibrary
MSKOOoCodeGenerator
MSKOOoExamplesAndIDE
MSKOOoSmalltalkExtensions
MSKOpenCLSupport
MSKOpenGLSupport
MSKOpenGLSupport Core
MSKOpenGLSupport Examples
MSKOpenGLSupport Examples FreeImage
MSKOpenGLSupport GUI
MSKOpenGLSupport Runtime Loading
MSKOpenGLSupport Structures
MSKPlatformExtension
MSKPostgreSQL
MSKPostgreSQLAbtDBMLayer
MSKPostgreSQLAbtDBMLayerWithTests
MSKPostgreSQLWithTests
MSKProcessViewer
MSKRemoteCommandTools
MSKRexxSupport
MSKRexxSupportWithTests
MSKScintillaWrapper
MSKSDL
MSKSDLWithTests
MSKSnarlInterface
MSKSQLite
MSKSQLiteAbtDBMLayer
MSKSQLiteWithTests
MSKSyslog
MSKSystemExtension
MSKTestModel
MSKTreBinding
MSKTreBindingWithTests
MSKUDPMulticast
MSKUREWrapper
MSKVectorExtension
MSKVectorExtensionsWithTests
Obdobion, EMan - Developer
Obdobion, EMan - Distribution
Obdobion, EMan - Examples
Obdobion, EMan - Runtime
Philemon Event Support
Philemon Melissa
Philemon TaggedData
Philemon Tools
Pier
Pier Seaside
Pier Seaside Tests
Pier SIXX Persistence
Pier Tests
Raphaël - JavaScript Library
Refactoring Browser
Refactoring Browser Model
RefactoryTesting
Seaside GoogleChart
SIXX
SIXX Tests
SpsPdfLib
SpsPdfLib Development
SUnit Browser
SUnit Browser - Packagable
SWFObject2 Seaside Addon
SWFObject2 Seaside Addon Demo
Test Browser
VAStGoodies.com Tools
VBRegex
WinCrypt
WinCryptWithTests
WinHttpClient
WinHttpClientWebServiceSupport
WinHttpClientWebServiceSupportWithTests
WinHttpClientWithTests
z.ST: Database, PostgreSQL-Base
Versions
Download
0.3.178 VA8.SH.12
0.4.189.1+CS 67 SH CS3
0.3.178 VA8.NFR.11
0.3.178 VA75.NFR.9
0.3.178
Applications
Browse
GlorpCollectionTypeModels 0.3.161 CS10.NFR.2
GlorpDBTests 0.3.178 CS13.SH.1
GlorpDBTypeTests 0.3.178 CS12.SH.1
GlorpTestModels 0.3.178 CS13.NFR.3
GlorpTests 0.3.178 CS13.SH.1
Config. Expressions
System vmType ~= 'st80'
System vmType = 'st80'
Required Maps
Jump
SUnit V 8.0.0 [122]
Glorp 0.3.178 VA8.SH.8
Notes
For VASmalltalk 8.0 and later. This version was tested against a local Oracle 10g installation. I am the VASmalltalk version corresponding to the open repository bundle of the same name and number as the first part of my version number. Results ===== See comment of this map for scripts to open test browsers. Running the test apps in the order presented, and the GlorpDBTest's DatabaseLogin test first in that apps tests, can be advisable and avoid debugging errors due to other errors. See #needsSetup to control whether tests prepare the database or assume it has been prepared. See GlorpDatabaseLoginResource class-side for choosing which database and platform to test. All tests pass on Oracle 10g in VA8Beta except for GlorpOptimisticLockingTests and some in the GlorpDBTypeTests app. (Intermittent failures - 'bad handle' and the like - were sometimes observed on first run and/or when the machine was being thrashed; these appeared to arise below the Glorp layer and we assume they are aspects of the Beta, being fixed.) - GlorpOptimisticLockingTests require the connection to know the rowCount for UPDATE statements. The ODBC VA layer provides this but it was dropped from the Oracle VA layer some time ago. It is restored in AbtDbmOracleBaseApp V 8.0.0 [113] GlorpOptimisticLocking.NFR.1 (included in the .dat) and appears to work OK but it would be wise to discover why it was dropped in the first place (I am investigating). - It is normal that not all tests in app GlorpDBTypeTests pass. This app is a set of complete tests for PostgreSQL (which AFAIK has no interface for VA) and several fail on other databases in all dialects. The list below should pass in all dialects and do pass in VA8.0Beta, noting that these were particularly liable to the first run and intermittent errors mentiond above. GlorpDateTest>>#testDate GlorpBooleanTest>>#testBoolean GlorpDatabaseTypeDBTests>>#testReadTime GlorpDatabaseTypeDBTests>>#testSerial GlorpDatabaseTypeDBTests>>#testTimeWithTimeZone GlorpDatabaseTypeDBTests>>#testTypeParametersNotAliased GlorpDatabaseTypeDBTests>>#testVarBinary GlorpNumeric5ZeroTest>>#testNumeric5Zero GlorpNumericTest>>#testNumeric GlorpNumeric5Test>>#testNumeric5 GlorpNumeric52Test>>#testNumeric52 GlorpTimestampTest>>#testTimeStamp GlorpTimeTest>>#testTime GlorpChar4Test>>#testChar4 GlorpVarchar2Test>>#testVarChar2 GlorpVarchar4Test>>#testVarChar4 GlorpVarchar1Test>>#testBooleanToTFString GlorpIntegerTest>>#testInteger GlorpFloat4Test>>#testFloat4 GlorpFloat8Test>>#testFloat8 GlorpInt2Test>>#testBooleanToInteger GlorpInt2Test>>#testInt2 GlorpInt4Test>>#testInt4 GlorpChar2Test>>#testChar2 GlorpInt8Test>>#testInt8 (ran fine in VA8Beta; in our VA7.5.0 test regime it always returned a AbtOracleCursor that did not set atEnd, so cycled forever). GlorpVarChar10Test tests escaping of special chars. It passes on all but two cases which are handled differently in the VA Oracle layer from what was expected; whether this minor discrepancy is an SQL-standard violation or is valid is TBD. History ==== 0.3.178 VA8.NFR.11 - Avoid raising a test failure within the handling of an error. SUnit traps the error then passes the failure, thus interrupting the run. 0.3.178 VA8.NFR.10 and CS13.NFR.9 - first VASmalltalk 8.0 Beta version - VA8 has ANSI exceptions; dropped some methods that handled their absence. (Check how far non-ANSI can still be raised; if safe, rewrite Dialect class>>error.) DNU indirection also dropped. 0.3.178 CS12.NFR.8 (tested on VA7.5.0 with PhilemonKernel loaded) - fixed a poor <= implementation in GlorpVirtualCustomer - one more dialect-neutral line-ending test fix - one test implementation updated to 0.4.10 and two to 0.4.69 where the 0.3.178 code was not robust enough for Oracle and/or cross-platform use. - GlorpRowMapForMementosCollectionTest added deny's to check asserts are not wongly passing due to collection-copying errors being duplicated in Glorp code and in the test. - GlorpOptimisticLockingTest needs rowCount defined on the connection. ODBC has this but Oracle in VA has dropped it; reverting needs rowCount instVar added and call of self rowCount: (self getRowCountForStmt: stmthp ifError: anErrorBlock) (N.B. the comment in the released version is misphrased) in executeCallForSQLStatement:ifError: Otherwise - All GlorpTest tests pass with the non-ANSI doesNotUnderstand: - All GlorpDBTests pass - three need the ANSI doesNotUnderstand: (GlorpManyToManyDBTest>>testReadCustomerWithFilteredSubSelectToAccounts1 and 2 and 3 need ANSI implementation of Object>>doesNotUnderstand: (see its comment), otherwise the call of #mapping: in join* that is protected by ... on: MessageNotUnderstood ... will not work. However, the other test error raising code assumes that non-ANSI is used in VA. Anticipated solution is to retire the should:raise: workaround in favour of the wholly-implemented ANSI error handling in VASmalltalk 8.0.) - GlorpObjectMappedToImaginaryTableTest>>testReadBackEntireExample and some GlorpNumeric*Test tests can fail if the VA implementation of type 'numeric' does not return values after the decimal point in selects. - GlorpDBTypeTests for Clob, Lob and Text fail on Oracle equally in VW7.4.1 and in VA7.5.0. These may be legitimate failures Lastly, GlorpMappingTest class>>isAbstract returns true but it still appears with its subclasses (so they are repeated in the list) when a TestBrowser is opened using the code in this map's comment: the code or the TestBrowser needs checking. CS12.NFR.7: - dialect-neutral line-ending and general error raising. - specific error raising still needs work. CS12.NFR.6 - yourself converted to yourSelf to force proxy instantiation in tests (VA inlines yourself aggressively)
Comment
This is the VA port of the Glorp bundle in the Cincom OR. The first part of the port's version string is the version of the bundle from which it came. The second part denotes the Camp Smalltalk epoch in which it was produced, the creator's initials and the incemental serial number. GlorpCollectionTypeModels has no tests. GlorpTestModels has and the abstract GlorpTestCase and one test. SUnitBrowser openOnTestCase: GlorpRowMapForMementosCollectionTest. SUnitBrowser openOnTestCase: ((TestSuite named: GlorpDBTests name asString) addTests: ((GlorpDBTests defined select: [:each | (each inheritsFrom: TestCase) and: [each isAbstract not]]) collect: [:each | each buildSuite]) yourself). SUnitBrowser openOnTestCase: ((TestSuite named: GlorpTests name asString) addTests: ((GlorpTests defined select: [:each | (each inheritsFrom: TestCase) and: [each isAbstract not]]) collect: [:each | each buildSuite]) yourself). SUnitBrowser openOnTestCase: ((TestSuite named: GlorpDBTypeTests name asString) addTests: ((GlorpDBTypeTests defined select: [:each | (each inheritsFrom: TestCase) and: [each isAbstract not]]) collect: [:each | each buildSuite]) yourself). Or, to open a test browser on all the Glorp tests SUnitBrowser openOnTestCase: GlorpTestCase.
Use the
VAStGoodies.com Tools
to submit your contributions.