VAStGoodies.com
Your VA Smalltalk OSS repository. Powered by
with
.
Configuration Maps
|
Projects
|
Tags
|
Developers
|
Statistics
|
RSS
|
Disclaimer
|
About
|
Help
Configuration Maps Browser
Configuration Map Names
Abt Image Startup
AbtOleEdit
AbxProcessPeek
Announcements Core
Announcements Demos Seaside
Announcements Tests
Announcements Tools VA
Cloudfork
Cloudfork ActiveItem
CloudforkAWS
CloudforkAWSWithTests
CloudforkSSO
CloudforkSSOWithTests
CodeManagement
ComputerTelephony
Compuware SplitterWidget
CounterMap
DhbNumerics
DhbNumericsWithTests
Flotr Core
FogBugz Support
GemStoneCodeManagement
GemStoneCodeManagement Mods
Glorp
GlorpTest
GlorpVAPortMap
Goodies - UML Designer
GreaseVASTExtensions
Highcharts Seaside Addon
HQA Automated Build Support
HQA Code Snapshot Tool
InstallService
JNIPort
JNIPort Tests
JokXTEAEncryption
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
JQueryMobile
JQueryMobile Tests
JQueryWidgetBox Core
JQueryWidgetBox Dynatree
JQueryWidgetBox Examples
JQueryWidgetBox Portability Extentions
JQueryWidgetBox Tests
JSON
KscCase
KscDynamicSortBlock
KscEMail
KscInspectWindow
KscLibUsb
KscMZZipExtensions
KscShellNotifyIcon
KscViewExtensions
KscWeather
KscX10Base
KscX10LibUSB
KscX10LibUsbGui
LibGit
Magritte
Magritte Seaside
Magritte Tests
MagritteMagic
Mastering ENVY/Developer Refactoring Browser Extensions
Mastering ENVY/Developer Script Manager
MessagePack
MessagePack Tests
MetaTest Browser
MethodPragmas
MethodWrappers
MethodWrappers Tests
MethodWrappersBase
MFNLSManagement
MiniSMock
MinneStoreDB
Modelling
Monticello Importer - Beta
MQTT-Paho
MQTT-Paho Tests
MSKAdditionalColorSupport
MSKCLDTPrimitivesExtension
MSKCLDTPrimitivesExtensionWithTestsAndResources
MSKClick
MSKCouchDB
MSKCouchDBWithTests
MSKCurlInterface
MSKDyBase
MSKDyBaseWithTests
MSKECLWrapper
MSKECLWrapperTestsAndResources
MSKFFLLInterface
MSKFischertechnikInterface
MSKFreeImageUI
MSKFreeImageWrapper
MSKFreeImageWrapperWithTests
MSKGeneralDatabase
MSKGhostscriptInterface
MSKGLibWrapper
MSKGLibWrapperWithTests
MSKICU
MSKICUAndTests
MSKICXDLibHaruDM
MSKICXDTNetStringsDM
MSKICXDTNetStringsTests
MSKJSONWrapper
MSKJSONWrapperWithTests
MSKLibHaruInterface
MSKLogging
MSKLua
MSKLuaWithTests
MSKMdlPlainRuntime
MSKMonoInterface
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
MSKRaphaelExtensions
MSKRemoteCommandTools
MSKResourceManagement
MSKResourceManagementRuntime
MSKRexxSupport
MSKRexxSupportWithTests
MSKScintillaWrapper
MSKSDL
MSKSDLWithTests
MSKSeasideNLSExample
MSKSeasideNLSExtension
MSKSeasideSimpleREST
MSKSnarlInterface
MSKSQLite
MSKSQLiteAbtDBMLayer
MSKSQLiteGlorpSupport
MSKSQLiteWithTests
MSKSyslog
MSKSystemExtension
MSKSystemGraphicsExtension
MSKTestModel
MSKTreBinding
MSKTreBindingWithTests
MSKUDPMulticast
MSKUREWrapper
MSKVectorExtension
MSKVectorExtensionsWithTests
MSKZLibWrapper
MSKZLibWrapperWithTests
Mustache
NeoCSV
NeoJSON
Obdobion, EMan - Developer
Obdobion, EMan - Distribution
Obdobion, EMan - Examples
Obdobion, EMan - Runtime
OGLogger
Philemon Event Support
Philemon Melissa
Philemon TaggedData
Philemon Tools
Pier
Pier Add-ons
Pier Seaside
Pier Seaside Tests
Pier SIXX Persistence
Pier Tests
PUMRESTRuntime
QuotedPrintableCoderRun
QuotedPrintableCoderWithTests
Raphaël - JavaScript Library
Raphael - JavaScript Library Examples
RaspberryHardwareInterfaceCore
RaspberryHardwareInterfaceTest
RaspberryHardwareInterfaceViaDaemonTest
Reef
Refactoring Browser
Refactoring Browser Model
RefactoryTesting
Regex
Roassal
Roassal-Core
Seaside Core
Seaside GoogleChart
Seaside REST
Seaside REST Tests
SeasideGoogleMapsV3
SeasideGoogleMapsV3Examples
SimGeohash
Simple GBS Temperature Sensor Example
Simple Improvements
SIXX
SIXX Tests
SpsPdfLib
SpsPdfLib Development
StOMP
StOMP Tests
STON
StsBrowsersWin w/Code Completion
SUnit
SUnit Browser
SUnit Browser - Packagable
SUnit Tests
SWFObject2 Seaside Addon
SWFObject2 Seaside Addon Demo
Test Browser
Toothpick
TwitterBoostrapForSeaside
TwitterBootstrapForSeasideExamples
TwitterBootstrapForSeasideTests
USAstronomicalApi
VA Assist Pro for TrailBlazer
VAStGoodies.com Tools
VBRegex
WinCrypt
WinCryptWithTests
WinHttpClient
WinHttpClientWebServiceSupport
WinHttpClientWebServiceSupportWithTests
WinHttpClientWithTests
z.ST: Database, PostgreSQL-Base
z.ST: SUnit
z.ST: SUnit Testing
Zstandard
Zstandard Tests
Versions
Download
MSK (V 8.0.2 [146]) - InDevelopment 01
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
GlorpCollectionTypeModels 0.3.161 CS10.NFR.2
GlorpDBTests MSK (V 8.0.2 [146]) InDevelopment - 0.1
GlorpDBTypeTests MSK (V 8.0.2 [146]) InDevelopment - 0.1
GlorpTestModels 0.3.178 CS13.NFR.3
GlorpTests V 8.0.2 [146]
Config. Expressions
Required Maps
Find
Notes
This map needs SUnit but is compatible with any recent version so does not prereq SUnit. See the comment of this map for scripts to open test browsers on its tests. 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. This version is for VASmalltalk 8.0 and later. It was tested against a local Oracle 10g installation. Results ===== Running the test apps in the order presented, and the GlorpDatabaseLogin test first in its 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 VA8.0.0 except as follows. - 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 and appears to work OK but it would be wise to discover why it was dropped in the first place. - It is normal that not all tests in app GlorpDBTypeTests pass. This app is a set of complete tests for PostgreSQL and several fail on other databases in all dialects. The list below should pass in all dialects and do pass in VA8.0.0, noting that these were particularly liable to first run errors. 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 VA8; in our VA7.5 tests it always returned an 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- hstandard violation or is valid is TBD. History ==== 0.3.178 VA802.JOK.15 - eliminate a few residual usages of #expandMacros 0.3.178 VA802.JOK.14 - Use #reverse (ANSI) instead of #reversed - BLOB, CLOB, and Text tests bypassed for VA Smalltalk - Additional use of GlorpDatabaseLoginResource defaultLogin class - Removed required map links 0.3.178 VA802.NFR.13 - Dropped explicit SUnit version prereq as the tests work with a range of SUnit versions. - Changes for DB2 in 0.3.178 VA8.SH.12 generalised to use GlorpDatabaseLoginResource defaultLogin class 0.3.178 VA8.SH.12 - Changes for DB2 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 open-source Glorp project's tests. 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. To open separate SUnitBrowsers on the tests in each app in this map, execute the code below. "GlorpCollectionTypeModels has no tests. GlorpTestModels has 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, do SUnitBrowser openOnTestCase: GlorpTestCase.
Project:
Glorp
Developer:
Marten Feldtmann
Use the
VAStGoodies.com Tools
to submit your contributions.