Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions eng/pipelines/common/templates/jobs/ci-run-tests-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,18 @@ parameters:
- Project
- Package

# The timeout, in minutes, for this job.
- name: timeout
type: string
default: 90

jobs:
- job: ${{ format('{0}', coalesce(parameters.jobDisplayName, parameters.image, 'unknown_image')) }}

# Some of our tests take longer than the default 60 minutes to run on some
# OSes and configurations.
timeoutInMinutes: ${{ parameters.timeout }}

pool:
name: '${{ parameters.poolName }}'
${{ if eq(parameters.hostedPool, true) }}:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,21 @@ parameters:
- name: isPreview
type: boolean

# The timeout, in minutes, for this job.
- name: timeout
type: string
default: 90

jobs:
- job: run_tests_package_reference
displayName: 'Run tests with package reference'
${{ if ne(parameters.dependsOn, 'empty')}}:
dependsOn: '${{parameters.dependsOn }}'

# Some of our tests take longer than the default 60 minutes to run on some
# OSes and configurations.
timeoutInMinutes: ${{ parameters.timeout }}

pool:
type: windows # read more about custom job pool types at https://aka.ms/obpipelines/yaml/jobs
isCustom: true
Expand Down
7 changes: 7 additions & 0 deletions eng/pipelines/common/templates/stages/ci-run-tests-stage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,11 @@ parameters:
type: jobList
default: []

# The timeout, in minutes, for each test job.
- name: testsTimeout
type: string
default: 90

stages:
- ${{ each config in parameters.testConfigurations }}:
- ${{ each image in config.value.images }}:
Expand All @@ -47,6 +52,7 @@ stages:
parameters:
debug: ${{ parameters.debug }}
buildType: ${{ parameters.buildType }}
timeout: ${{ parameters.testsTimeout }}
poolName: ${{ config.value.pool }}
hostedPool: ${{ eq(config.value.hostedPool, true) }}
image: ${{ image.value }}
Expand All @@ -72,6 +78,7 @@ stages:
parameters:
debug: ${{ parameters.debug }}
buildType: ${{ parameters.buildType }}
timeout: ${{ parameters.testsTimeout }}
poolName: ${{ config.value.pool }}
hostedPool: ${{ eq(config.value.hostedPool, true) }}
image: ${{ image.value }}
Expand Down
6 changes: 6 additions & 0 deletions eng/pipelines/dotnet-sqlclient-ci-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,11 @@ parameters:
type: string
default: $(ci_var_defaultPoolName)

# The timeout, in minutes, for each test job.
- name: testsTimeout
type: string
default: 90

variables:
- template: libraries/ci-build-variables.yml@self

Expand All @@ -78,6 +83,7 @@ stages:
parameters:
debug: ${{ parameters.debug }}
buildType: ${{ parameters.buildType }}
testsTimeout: ${{ parameters.testsTimeout }}
${{ if eq(parameters.buildType, 'Package') }}:
dependsOn: build_nugets

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,12 @@ parameters: # parameters are shown up in ADO UI in a build queue time
- Project
- Package

# The timeout, in minutes, for each test job.
- name: testsTimeout
displayName: 'Tests timeout (in minutes)'
type: string
default: 90

extends:
template: dotnet-sqlclient-ci-core.yml@self
parameters:
Expand All @@ -92,3 +98,4 @@ extends:
useManagedSNI: ${{ parameters.useManagedSNI }}
codeCovTargetFrameworks: ${{ parameters.codeCovTargetFrameworks }}
buildType: ${{ parameters.buildType }}
testsTimeout: ${{ parameters.testsTimeout }}
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,12 @@ parameters: # parameters are shown up in ADO UI in a build queue time
- Project
- Package

# The timeout, in minutes, for each test job.
- name: testsTimeout
displayName: 'Tests timeout (in minutes)'
type: string
default: 90

extends:
template: dotnet-sqlclient-ci-core.yml@self
parameters:
Expand All @@ -84,3 +90,4 @@ extends:
useManagedSNI: ${{ parameters.useManagedSNI }}
codeCovTargetFrameworks: ${{ parameters.codeCovTargetFrameworks }}
buildType: ${{ parameters.buildType }}
testsTimeout: ${{ parameters.testsTimeout }}
7 changes: 7 additions & 0 deletions eng/pipelines/dotnet-sqlclient-signing-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,12 @@ parameters: # parameters are shown up in ADO UI in a build queue time
type: boolean
default: false

# The timeout, in minutes, for each test job.
- name: testsTimeout
displayName: 'Tests timeout (in minutes)'
type: string
default: 90

variables:
- template: /eng/pipelines/libraries/variables.yml@self
- name: packageFolderName
Expand Down Expand Up @@ -175,6 +181,7 @@ extends:
parameters:
packageFolderName: $(packageFolderName)
isPreview: ${{ parameters['isPreview'] }}
timeout: ${{ parameters.testsTimeout }}
downloadPackageStep:
download: current
artifact: $(packageFolderName)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,8 @@ public void SqlParameterProperties(string connection)
const string firstColumnName = @"firstColumn";
const string secondColumnName = @"secondColumn";
const string thirdColumnName = @"thirdColumn";
string inputProcedureName = DataTestUtility.GetUniqueName("InputProc").ToString();
string outputProcedureName = DataTestUtility.GetUniqueName("OutputProc").ToString();
string inputProcedureName = DataTestUtility.GetShortName("InputProc").ToString();
string outputProcedureName = DataTestUtility.GetShortName("OutputProc").ToString();
const int charColumnSize = 100;
const int decimalColumnPrecision = 10;
const int decimalColumnScale = 4;
Expand Down Expand Up @@ -694,7 +694,7 @@ public void TestExecuteReader(string connection)
[ClassData(typeof(AEConnectionStringProvider))]
public async Task TestExecuteReaderAsyncWithLargeQuery(string connectionString)
{
string randomName = DataTestUtility.GetUniqueName(Guid.NewGuid().ToString().Replace("-", ""), false);
string randomName = DataTestUtility.GetShortName(Guid.NewGuid().ToString().Replace("-", ""), false);
if (randomName.Length > 50)
{
randomName = randomName.Substring(0, 50);
Expand Down Expand Up @@ -878,8 +878,8 @@ public void TestEnclaveStoredProceduresWithAndWithoutParameters(string connectio
using SqlCommand sqlCommand = new("", sqlConnection, transaction: null,
columnEncryptionSetting: SqlCommandColumnEncryptionSetting.Enabled);

string procWithoutParams = DataTestUtility.GetUniqueName("EnclaveWithoutParams", withBracket: false);
string procWithParam = DataTestUtility.GetUniqueName("EnclaveWithParams", withBracket: false);
string procWithoutParams = DataTestUtility.GetShortName("EnclaveWithoutParams", withBracket: false);
string procWithParam = DataTestUtility.GetShortName("EnclaveWithParams", withBracket: false);

try
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,55 +157,6 @@ public void TestRoundTripWithCSPAndCertStoreProvider()
}
}

[ConditionalTheory(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringSetupForAE))]
[ClassData(typeof(AEConnectionStringProvider))]
public void TestEncryptDecryptWithCSP(string connectionString)
{
string providerName = @"Microsoft Enhanced RSA and AES Cryptographic Provider";
string keyIdentifier = DataTestUtility.GetUniqueNameForSqlServer("CSP");

try
{
CertificateUtilityWin.RSAPersistKeyInCsp(providerName, keyIdentifier);
string cspPath = String.Concat(providerName, @"/", keyIdentifier);

SQLSetupStrategyCspExt sqlSetupStrategyCsp = new SQLSetupStrategyCspExt(cspPath);
string tableName = sqlSetupStrategyCsp.CspProviderTable.Name;

try
{
using SqlConnection sqlConn = new(connectionString);
sqlConn.Open();

Table.DeleteData(tableName, sqlConn);

// insert 1 row data
Customer customer = new Customer(45, "Microsoft", "Corporation");

DatabaseHelper.InsertCustomerData(sqlConn, null, tableName, customer);

// Test INPUT parameter on an encrypted parameter
using SqlCommand sqlCommand = new(@$"SELECT CustomerId, FirstName, LastName FROM [{tableName}] WHERE FirstName = @firstName",
sqlConn, null, SqlCommandColumnEncryptionSetting.Enabled);
SqlParameter customerFirstParam = sqlCommand.Parameters.AddWithValue(@"firstName", @"Microsoft");
Console.WriteLine(@"Exception: {0}");
customerFirstParam.Direction = System.Data.ParameterDirection.Input;

using SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
ValidateResultSet(sqlDataReader);
}
finally
{
// clean up database resources
sqlSetupStrategyCsp.Dispose();
}
}
finally
{
CertificateUtilityWin.RSADeleteKeyInCsp(providerName, keyIdentifier);
}
}

/// <summary>
/// Validates that the results are the ones expected.
/// </summary>
Expand Down
Loading
Loading