Skip to content

Commit 00e6472

Browse files
authored
Merge pull request #134 from tSQLt-org/releaseNotes20220101
Release notes20220101
2 parents 29f6759 + 80672ef commit 00e6472

File tree

8 files changed

+80
-36
lines changed

8 files changed

+80
-36
lines changed

Build/ReleaseNotes.txt

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,35 @@ An online version of these release notes is available at:
44
http://tsqlt.org/category/release-notes/
55

66

7-
87
---------------------------
98
Release: VLATEST-BUILD-NUMBER
109

1110
BUG FIXES:
1211

12+
N/A
13+
14+
NEW FEATURES:
15+
16+
1. SpyProcedure has a new optional parameter, @CallOriginal
17+
2. SpyProcedure provides the variable @SpyProcedureOriginalObjectName within the CommandToExecute
18+
3. NoTransaction test annotation --[@tSQLt:NoTransaction](@CleanUpProcedureName)
19+
This annotation causes the test to be executed outside of a transaction. The @CleanUpProcedureName procedure is executed after the test completes.
20+
4. UndoTestDoubles, useful when test double procedures like tSQLt.FakeTable are executed outside of a transaction
21+
5. FakeFunction allows FakeDataSource to be a "VALUES" clause
22+
23+
MISCELLANEOUS:
24+
25+
1. Reduced the complexity of building and testing tSQLt
26+
2. Removed dependency on Private_NullCellTable table
27+
3. Installation of tSQLt can handle more edge cases
28+
4. Standardized error messages
29+
5. For tSQLt contributors: New build target 'tSQLtOnly', which skips Facade validation steps
30+
31+
---------------------------
32+
Release: V1.0.7950.1808
33+
34+
BUG FIXES:
35+
1336
1. Removed unexpected facade objects (aka ufos) from tSQLt dacpacs.
1437

1538
NEW FEATURES:

Source/BuildOrder.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,6 @@ tSQLt.(at)tSQLt_NoTransaction.sfn.sql
119119
tSQLt.RemoveExternalAccessKey.ssp.sql
120120
tSQLt.InstallExternalAccessKey.ssp.sql
121121
tSQLt.Private_InstallationInfo.sfn.sql
122-
tSQLt.UndoSingleTestDouble.ssp.sql
122+
tSQLt.Private_UndoSingleTestDouble.ssp.sql
123123
tSQLt.UndoTestDoubles.ssp.sql
124124
tSQLt._Footer.sql

Source/Source.ssmssqlproj

Lines changed: 40 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22
<SqlWorkbenchSqlProject xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Name="Source">
33
<Items>
44
<LogicalFolder Name="Connections" Type="2" Sorted="true">
5-
<Items>
6-
</Items>
5+
<Items />
76
</LogicalFolder>
87
<LogicalFolder Name="Queries" Type="0" Sorted="true">
98
<Items>
@@ -20,6 +19,9 @@
2019
<FullPath>ExecutePrepareServer.sql</FullPath>
2120
</FileNode>
2221
<FileNode Name="Run_Methods.sql">
22+
<AssociatedConnectionMoniker />
23+
<AssociatedConnSrvName />
24+
<AssociatedConnUserName />
2325
<FullPath>Run_Methods.sql</FullPath>
2426
</FileNode>
2527
<FileNode Name="tSQLt.(at)tSQLt_MaxSqlMajorVersion.sfn.sql">
@@ -209,9 +211,15 @@
209211
<FullPath>tSQLt.PrepareServer.ssp.sql</FullPath>
210212
</FileNode>
211213
<FileNode Name="tSQLt.Private_AssertNoSideEffects.ssp.sql">
214+
<AssociatedConnectionMoniker />
215+
<AssociatedConnSrvName />
216+
<AssociatedConnUserName />
212217
<FullPath>tSQLt.Private_AssertNoSideEffects.ssp.sql</FullPath>
213218
</FileNode>
214219
<FileNode Name="tSQLt.Private_AssertNoSideEffects_GenerateCommand.sfn.sql">
220+
<AssociatedConnectionMoniker />
221+
<AssociatedConnSrvName />
222+
<AssociatedConnUserName />
215223
<FullPath>tSQLt.Private_AssertNoSideEffects_GenerateCommand.sfn.sql</FullPath>
216224
</FileNode>
217225
<FileNode Name="tSQLt.Private_CleanTestResult.ssp.sql">
@@ -227,6 +235,9 @@
227235
<FullPath>tSQLt.Private_CleanUp.ssp.sql</FullPath>
228236
</FileNode>
229237
<FileNode Name="tSQLt.Private_CleanUpCmdHandler.ssp.sql">
238+
<AssociatedConnectionMoniker />
239+
<AssociatedConnSrvName />
240+
<AssociatedConnUserName />
230241
<FullPath>tSQLt.Private_CleanUpCmdHandler.ssp.sql</FullPath>
231242
</FileNode>
232243
<FileNode Name="tSQLt.Private_CompareTables.ssp.sql">
@@ -392,6 +403,9 @@
392403
<FullPath>tSQLt.Private_HostPlatform.svw.sql</FullPath>
393404
</FileNode>
394405
<FileNode Name="tSQLt.Private_Init.ssp.sql">
406+
<AssociatedConnectionMoniker />
407+
<AssociatedConnSrvName />
408+
<AssociatedConnUserName />
395409
<FullPath>tSQLt.Private_Init.ssp.sql</FullPath>
396410
</FileNode>
397411
<FileNode Name="tSQLt.Private_InstallationInfo.sfn.sql">
@@ -442,6 +456,24 @@
442456
<AssociatedConnUserName />
443457
<FullPath>tSQLt.Private_NewTestClassList.tbl.sql</FullPath>
444458
</FileNode>
459+
<FileNode Name="tSQLt.Private_NoTransactionHandleTable.ssp.sql">
460+
<AssociatedConnectionMoniker />
461+
<AssociatedConnSrvName />
462+
<AssociatedConnUserName />
463+
<FullPath>tSQLt.Private_NoTransactionHandleTable.ssp.sql</FullPath>
464+
</FileNode>
465+
<FileNode Name="tSQLt.Private_NoTransactionTableAction.view.sql">
466+
<AssociatedConnectionMoniker />
467+
<AssociatedConnSrvName />
468+
<AssociatedConnUserName />
469+
<FullPath>tSQLt.Private_NoTransactionTableAction.view.sql</FullPath>
470+
</FileNode>
471+
<FileNode Name="tSQLt.Private_NoTransactionHandleTables.ssp.sql">
472+
<AssociatedConnectionMoniker />
473+
<AssociatedConnSrvName />
474+
<AssociatedConnUserName />
475+
<FullPath>tSQLt.Private_NoTransactionHandleTables.ssp.sql</FullPath>
476+
</FileNode>
445477
<FileNode Name="tSQLt.Private_PrepareFakeFunctionOutputTable.ssp.sql">
446478
<AssociatedConnectionMoniker />
447479
<AssociatedConnSrvName />
@@ -502,24 +534,6 @@
502534
<AssociatedConnUserName />
503535
<FullPath>tSQLt.Private_ResetNewTestClassList.ssp.sql</FullPath>
504536
</FileNode>
505-
<FileNode Name="tSQLt.Private_NoTransactionHandleTable.ssp.sql">
506-
<AssociatedConnectionMoniker />
507-
<AssociatedConnSrvName />
508-
<AssociatedConnUserName />
509-
<FullPath>tSQLt.Private_NoTransactionHandleTable.ssp.sql</FullPath>
510-
</FileNode>
511-
<FileNode Name="tSQLt.Private_NoTransactionTableAction.view.sql">
512-
<AssociatedConnectionMoniker />
513-
<AssociatedConnSrvName />
514-
<AssociatedConnUserName />
515-
<FullPath>tSQLt.Private_NoTransactionTableAction.view.sql</FullPath>
516-
</FileNode>
517-
<FileNode Name="tSQLt.Private_NoTransactionHandleTables.ssp.sql">
518-
<AssociatedConnectionMoniker />
519-
<AssociatedConnSrvName />
520-
<AssociatedConnUserName />
521-
<FullPath>tSQLt.Private_NoTransactionHandleTables.ssp.sql</FullPath>
522-
</FileNode>
523537
<FileNode Name="tSQLt.Private_Results.view.sql">
524538
<AssociatedConnectionMoniker />
525539
<AssociatedConnSrvName />
@@ -580,6 +594,12 @@
580594
<AssociatedConnUserName />
581595
<FullPath>tSQLt.Private_SysTypes.svw.sql</FullPath>
582596
</FileNode>
597+
<FileNode Name="tSQLt.Private_UndoSingleTestDouble.ssp.sql">
598+
<AssociatedConnectionMoniker />
599+
<AssociatedConnSrvName />
600+
<AssociatedConnUserName />
601+
<FullPath>tSQLt.Private_UndoSingleTestDouble.ssp.sql</FullPath>
602+
</FileNode>
583603
<FileNode Name="tSQLt.Private_ValidateFakeTableParameters.ssp.sql">
584604
<AssociatedConnectionMoniker />
585605
<AssociatedConnSrvName />
@@ -712,12 +732,6 @@
712732
<AssociatedConnUserName />
713733
<FullPath>tSQLt.Tests.view.sql</FullPath>
714734
</FileNode>
715-
<FileNode Name="tSQLt.UndoSingleTestDouble.ssp.sql">
716-
<AssociatedConnectionMoniker />
717-
<AssociatedConnSrvName />
718-
<AssociatedConnUserName />
719-
<FullPath>tSQLt.UndoSingleTestDouble.ssp.sql</FullPath>
720-
</FileNode>
721735
<FileNode Name="tSQLt.UndoTestDoubles.ssp.sql">
722736
<AssociatedConnectionMoniker />
723737
<AssociatedConnSrvName />

Source/tSQLt.UndoSingleTestDouble.ssp.sql renamed to Source/tSQLt.Private_UndoSingleTestDouble.ssp.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
IF OBJECT_ID('tSQLt.UndoSingleTestDouble') IS NOT NULL DROP PROCEDURE tSQLt.UndoSingleTestDouble;
1+
IF OBJECT_ID('tSQLt.Private_UndoSingleTestDouble') IS NOT NULL DROP PROCEDURE tSQLt.Private_UndoSingleTestDouble;
22
GO
33
---Build+
44
GO
5-
CREATE PROCEDURE tSQLt.UndoSingleTestDouble
5+
CREATE PROCEDURE tSQLt.Private_UndoSingleTestDouble
66
@SchemaName NVARCHAR(MAX),
77
@ObjectName NVARCHAR(MAX),
88
@OriginalName NVARCHAR(MAX)

Source/tSQLt.class.sql

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,9 +131,6 @@ RETURN
131131
AND LE.LoginTime = ES.login_time
132132
WHERE ES.session_id = @@SPID;
133133
GO
134-
/*--
135-
IF(LTRIM(ISNULL(@TestName,'')) = '')
136-
--*/
137134

138135
CREATE PROCEDURE tSQLt.Private_SaveTestNameForSession
139136
@TestName NVARCHAR(MAX)

Tests.EXTERNAL_ACCESS_KEY_EXISTS/EnableExternalAccessTests.class.sql

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,8 @@ BEGIN
129129
EXEC tSQLt.AssertLike @ExpectedPattern = 'The attempt to disable tSQLt features requiring EXTERNAL_ACCESS failed: %tSQLtCLR%', @Actual = @Actual;
130130
END;
131131
GO
132+
--[@tSQLt:MinSqlMajorVersion](11)
133+
-- There's a bug in SQL Server 2008R2 that makes the EXECUTE AS statement fail randomly. Disabling it on that version for now.
132134
CREATE PROCEDURE EnableExternalAccessTests.[test tSQLt.EnableExternalAccess returns -1, if @try = 1 and setting fails]
133135
AS
134136
BEGIN

Tests/Tests.ssmssqlproj

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22
<SqlWorkbenchSqlProject xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Name="Tests">
33
<Items>
44
<LogicalFolder Name="Connections" Type="2" Sorted="true">
5-
<Items>
6-
</Items>
5+
<Items />
76
</LogicalFolder>
87
<LogicalFolder Name="Queries" Type="0" Sorted="true">
98
<Items>
@@ -20,6 +19,9 @@
2019
<FullPath>AnnotationHostPlatformTests.class.sql</FullPath>
2120
</FileNode>
2221
<FileNode Name="AnnotationNoTransactionTests.class.sql">
22+
<AssociatedConnectionMoniker />
23+
<AssociatedConnSrvName />
24+
<AssociatedConnUserName />
2325
<FullPath>AnnotationNoTransactionTests.class.sql</FullPath>
2426
</FileNode>
2527
<FileNode Name="AnnotationSkipTestTests.class.sql">
@@ -185,6 +187,9 @@
185187
<FullPath>NewTestClassTests.class.sql</FullPath>
186188
</FileNode>
187189
<FileNode Name="Private_AssertNoSideEffectsTests.class.sql">
190+
<AssociatedConnectionMoniker />
191+
<AssociatedConnSrvName />
192+
<AssociatedConnUserName />
188193
<FullPath>Private_AssertNoSideEffectsTests.class.sql</FullPath>
189194
</FileNode>
190195
<FileNode Name="Private_CleanUpCmdHandlerTests.class.sql">
@@ -362,6 +367,9 @@
362367
<FullPath>ResultSetFilterTests.class.sql</FullPath>
363368
</FileNode>
364369
<FileNode Name="Run_Methods_Tests.class.sql">
370+
<AssociatedConnectionMoniker />
371+
<AssociatedConnSrvName />
372+
<AssociatedConnUserName />
365373
<FullPath>Run_Methods_Tests.class.sql</FullPath>
366374
</FileNode>
367375
<FileNode Name="SetSummaryErrorTests.class.sql">

Tests/UndoTestDoublesTests.class.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ BEGIN
214214
EXEC tSQLt.AssertEmptyTable @TableName = 'tSQLt.Private_RenamedObjectLog';
215215
END;
216216
GO
217-
CREATE PROCEDURE UndoTestDoublesTests.[test restores a faked stored procedure]
217+
CREATE PROCEDURE UndoTestDoublesTests.[test restores a spied stored procedure]
218218
AS
219219
BEGIN
220220
EXEC ('CREATE PROCEDURE UndoTestDoublesTests.aSimpleSSP @Id INT AS RETURN;');

0 commit comments

Comments
 (0)