Skip to content

WIP nameof function #73

WIP nameof function

WIP nameof function #73

GitHub Actions / Dotnet Test Results failed Jul 29, 2024 in 0s

17 fail, 10 970 pass in 24m 9s

    72 files  ±0      72 suites  ±0   24m 9s ⏱️ +56s
10 987 tests +2  10 970 ✅ ±0  0 💤 ±0  17 ❌ +2 
25 854 runs  +4  25 820 ✅  - 1  0 💤 ±0  34 ❌ +5 

Results for commit 0f10788. ± Comparison against earlier commit 754050d.

Annotations

Check warning on line 0 in Bicep.Cli.IntegrationTests.BuildCommandTests

See this annotation in the file changed.

@github-actions github-actions / Dotnet Test Results

All 2 runs failed: Build_Valid_SingleFile_WithTemplateSpecReference_ToStdOut_ShouldSucceed_Modules_CRLF (Bicep.Cli.IntegrationTests.BuildCommandTests)

TestResults/_fv-az700-634_2024-07-29_23_01_24[1].trx [took 0s]
TestResults/runneradmin_fv-az1388-483_2024-07-29_23_02_45.trx [took 0s]
Raw output
Expected result to be 0, but found 1 (difference of 1).
Did not expect output to be empty.
Expected all newlines in "" to be "
", but found inconsistent newlines.
Did not expect var line in error.Split(["\r\n", "\n"], StringSplitOptions.RemoveEmptyEntries)){line "D:\a\bicep\bicep\TestResults\Deploy_runneradmin 20240729T230243_4196\In\dd050c5e-5764-46fe-a86a-c9cde2598e96\main.bicep(378,8) : Error BCP035: The specified "module" declaration is missing the following required properties: "params"." to contain ") : Error ".
   at FluentAssertions.Execution.LateBoundTestFramework.Throw(String message)
   at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
   at FluentAssertions.Execution.CollectingAssertionStrategy.ThrowIfAny(IDictionary`2 context)
   at FluentAssertions.Execution.AssertionScope.Dispose()
   at Bicep.Cli.IntegrationTests.BuildCommandTests.Build_Valid_SingleFile_WithTemplateSpecReference_ToStdOut_ShouldSucceed(DataSet dataSet) in D:\a\bicep\bicep\src\Bicep.Cli.IntegrationTests\BuildCommandTests.cs:line 228

Check warning on line 0 in Bicep.Cli.IntegrationTests.PublishCommandTests

See this annotation in the file changed.

@github-actions github-actions / Dotnet Test Results

All 2 runs failed: Modules_CRLF, with docUri, publishing source (Bicep.Cli.IntegrationTests.PublishCommandTests)

TestResults/_fv-az700-634_2024-07-29_23_01_24[1].trx [took 0s]
TestResults/runneradmin_fv-az1388-483_2024-07-29_23_02_45.trx [took 0s]
Raw output
Expected value to be 0, but found 1 (difference of 1).   at FluentAssertions.Execution.LateBoundTestFramework.Throw(String message)
   at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
   at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
   at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
   at FluentAssertions.Numeric.NumericAssertions`2.Be(T expected, String because, Object[] becauseArgs)
   at Bicep.Cli.IntegrationTests.PublishCommandTests.Publish_AllValidDataSets_ShouldSucceed(String testName, DataSet dataSet, String documentationUri, Boolean publishSource) in D:\a\bicep\bicep\src\Bicep.Cli.IntegrationTests\PublishCommandTests.cs:line 182

Check warning on line 0 in Bicep.Cli.IntegrationTests.BuildCommandTests

See this annotation in the file changed.

@github-actions github-actions / Dotnet Test Results

All 2 runs failed: Build_Valid_SingleFile_WithTemplateSpecReference_ShouldSucceed_Modules_CRLF (Bicep.Cli.IntegrationTests.BuildCommandTests)

TestResults/_fv-az700-634_2024-07-29_23_01_24[1].trx [took 0s]
TestResults/runneradmin_fv-az1388-483_2024-07-29_23_02_45.trx [took 0s]
Raw output
Expected result to be 0, but found 1 (difference of 1).
Did not expect var line in error.Split(["\r\n", "\n"], StringSplitOptions.RemoveEmptyEntries)){line "D:\a\bicep\bicep\TestResults\Deploy_runneradmin 20240729T230243_4196\In\4f352038-4e4d-4228-877e-a01f4dc992d5\main.bicep(378,8) : Error BCP035: The specified "module" declaration is missing the following required properties: "params"." to contain ") : Error ".
   at FluentAssertions.Execution.LateBoundTestFramework.Throw(String message)
   at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
   at FluentAssertions.Execution.CollectingAssertionStrategy.ThrowIfAny(IDictionary`2 context)
   at FluentAssertions.Execution.AssertionScope.Dispose()
   at Bicep.Cli.IntegrationTests.BuildCommandTests.Build_Valid_SingleFile_WithTemplateSpecReference_ShouldSucceed(DataSet dataSet) in D:\a\bicep\bicep\src\Bicep.Cli.IntegrationTests\BuildCommandTests.cs:line 79

Check warning on line 0 in Bicep.Cli.IntegrationTests.PublishCommandTests

See this annotation in the file changed.

@github-actions github-actions / Dotnet Test Results

All 2 runs failed: Modules_CRLF, without docUri, not publishing source (Bicep.Cli.IntegrationTests.PublishCommandTests)

TestResults/_fv-az700-634_2024-07-29_23_01_24[1].trx [took 0s]
TestResults/runneradmin_fv-az1388-483_2024-07-29_23_02_45.trx [took 0s]
Raw output
Expected value to be 0, but found 1 (difference of 1).   at FluentAssertions.Execution.LateBoundTestFramework.Throw(String message)
   at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
   at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
   at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
   at FluentAssertions.Numeric.NumericAssertions`2.Be(T expected, String because, Object[] becauseArgs)
   at Bicep.Cli.IntegrationTests.PublishCommandTests.Publish_AllValidDataSets_ShouldSucceed(String testName, DataSet dataSet, String documentationUri, Boolean publishSource) in D:\a\bicep\bicep\src\Bicep.Cli.IntegrationTests\PublishCommandTests.cs:line 182

Check warning on line 0 in Bicep.Cli.IntegrationTests.FormatCommandTests

See this annotation in the file changed.

@github-actions github-actions / Dotnet Test Results

All 2 runs failed: Format_SampleBicepFile_MatchesFormattedSample_Modules_CRLF (Bicep.Cli.IntegrationTests.FormatCommandTests)

TestResults/_fv-az700-634_2024-07-29_23_01_24[1].trx [took 0s]
TestResults/runneradmin_fv-az1388-483_2024-07-29_23_02_45.trx [took 0s]
Raw output
Expected string to be "@sys.description('this is deployTimeSuffix param')
param deployTimeSuffix string = newGuid()

@sys.description('this module a')
module modATest './modulea.bicep' = {
  name: 'modATest'
  params: {
    stringParamB: 'hello!'
    objParam: {
      a: 'b'
    }
    arrayParam: [
      {
        a: 'b'
      }
      'abc'
    ]
  }
}

@sys.description('this module b')
module modB './child/moduleb.bicep' = {
  name: 'modB'
  params: {
    location: 'West US'
  }
}

@sys.description('this is just module b with a condition')
module modBWithCondition './child/moduleb.bicep' = if (1 + 1 == 2) {
  name: 'modBWithCondition'
  params: {
    location: 'East US'
  }
}

module modBWithCondition2 './child/moduleb.bicep' =
  // awkward comment
  if (1 + 1 == 2) {
    name: 'modBWithCondition2'
    params: {
      location: 'East US'
    }
  }

module modC './child/modulec.json' = {
  name: 'modC'
  params: {
    location: 'West US'
  }
}

module modCWithCondition './child/modulec.json' = if (2 - 1 == 1) {
  name: 'modCWithCondition'
  params: {
    location: 'East US'
  }
}

module optionalWithNoParams1 './child/optionalParams.bicep' = {
  name: 'optionalWithNoParams1'
}

module optionalWithNoParams2 './child/optionalParams.bicep' = {
  name: 'optionalWithNoParams2'
  params: {}
}

module optionalWithAllParams './child/optionalParams.bicep' = {
  name: 'optionalWithNoParams3'
  params: {
    optionalString: 'abc'
    optionalInt: 42
    optionalObj: {}
    optionalArray: []
  }
}

resource resWithDependencies 'Mock.Rp/mockResource@2020-01-01' = {
  name: 'harry'
  properties: {
    modADep: modATest.outputs.stringOutputA
    modBDep: modB.outputs.myResourceId
    modCDep: modC.outputs.myResourceId
  }
}

module optionalWithAllParamsAndManualDependency './child/optionalParams.bicep' = {
  name: 'optionalWithAllParamsAndManualDependency'
  params: {
    optionalString: 'abc'
    optionalInt: 42
    optionalObj: {}
    optionalArray: []
  }
  dependsOn: [
    resWithDependencies
    optionalWithAllParams
  ]
}

module optionalWithImplicitDependency './child/optionalParams.bicep' = {
  name: 'optionalWithImplicitDependency'
  params: {
    optionalString: concat(resWithDependencies.id, optionalWithAllParamsAndManualDependency.name)
    optionalInt: 42
    optionalObj: {}
    optionalArray: []
  }
}

module moduleWithCalculatedName './child/optionalParams.bicep' = {
  name: '${optionalWithAllParamsAndManualDependency.name}${deployTimeSuffix}'
  params: {
    optionalString: concat(resWithDependencies.id, optionalWithAllParamsAndManualDependency.name)
    optionalInt: 42
    optionalObj: {}
    optionalArray: []
  }
}

resource resWithCalculatedNameDependencies 'Mock.Rp/mockResource@2020-01-01' = {
  name: '${optionalWithAllParamsAndManualDependency.name}${deployTimeSuffix}'
  properties: {
    modADep: moduleWithCalculatedName.outputs.outputObj
  }
}

output stringOutputA string = modATest.outputs.stringOutputA
output stringOutputB string = modATest.outputs.stringOutputB
output objOutput object = modATest.outputs.objOutput
output arrayOutput array = modATest.outputs.arrayOutput
output modCalculatedNameOutput object = moduleWithCalculatedName.outputs.outputObj

/*
  valid loop cases
*/

@sys.description('this is myModules')
var myModules = [
  {
    name: 'one'
    location: 'eastus2'
  }
  {
    name: 'two'
    location: 'westus'
  }
]

var emptyArray = []

// simple module loop
module storageResources 'modulea.bicep' = [
  for module in myModules: {
    name: module.name
    params: {
      arrayParam: []
      objParam: module
      stringParamB: module.location
    }
  }
]

// simple indexed module loop
module storageResourcesWithIndex 'modulea.bicep' = [
  for (module, i) in myModules: {
    name: module.name
    params: {
      arrayParam: [
        i + 1
      ]
      objParam: module
      stringParamB: module.location
      stringParamA: concat('a', i)
    }
  }
]

// nested module loop
module nestedModuleLoop 'modulea.bicep' = [
  for module in myModules: {
    name: module.name
    params: {
      arrayParam: [for i in range(0, 3): concat('test-', i, '-', module.name)]
      objParam: module
      stringParamB: module.location
    }
  }
]

// duplicate identifiers across scopes are allowed (inner hides the outer)
module duplicateIdentifiersWithinLoop 'modulea.bicep' = [
  for x in emptyArray: {
    name: 'hello-${x}'
    params: {
      objParam: {}
      stringParamA: 'test'
      stringParamB: 'test'
      arrayParam: [for x in emptyArray: x]
    }
  }
]

// duplicate identifiers across scopes are allowed (inner hides the outer)
var duplicateAcrossScopes = 'hello'
module duplicateInGlobalAndOneLoop 'modulea.bicep' = [
  for duplicateAcrossScopes in []: {
    name: 'hello-${duplicateAcrossScopes}'
    params: {
      objParam: {}
      stringParamA: 'test'
      stringParamB: 'test'
      arrayParam: [for x in emptyArray: x]
    }
  }
]

var someDuplicate = true
var otherDuplicate = false
module duplicatesEverywhere 'modulea.bicep' = [
  for someDuplicate in []: {
    name: 'hello-${someDuplicate}'
    params: {
      objParam: {}
      stringParamB: 'test'
      arrayParam: [for otherDuplicate in emptyArray: '${someDuplicate}-${otherDuplicate}']
    }
  }
]

module propertyLoopInsideParameterValue 'modulea.bicep' = {
  name: 'propertyLoopInsideParameterValue'
  params: {
    objParam: {
      a: [for i in range(0, 10): i]
      b: [for i in range(1, 2): i]
      c: {
        d: [for j in range(2, 3): j]
      }
      e: [
        for k in range(4, 4): {
          f: k
        }
      ]
    }
    stringParamB: ''
    arrayParam: [
      {
        e: [for j in range(7, 7): j]
      }
    ]
  }
}

module propertyLoopInsideParameterValueWithIndexes 'modulea.bicep' = {
  name: 'propertyLoopInsideParameterValueWithIndexes'
  params: {
    objParam: {
      a: [for (i, i2) in range(0, 10): i + i2]
      b: [for (i, i2) in range(1, 2): i / i2]
      c: {
        d: [for (j, j2) in range(2, 3): j * j2]
      }
      e: [
        for (k, k2) in range(4, 4): {
          f: k
          g: k2
        }
      ]
    }
    stringParamB: ''
    arrayParam: [
      {
        e: [for j in range(7, 7): j]
      }
    ]
  }
}

module propertyLoopInsideParameterValueInsideModuleLoop 'modulea.bicep' = [
  for thing in range(0, 1): {
    name: 'propertyLoopInsideParameterValueInsideModuleLoop'
    params: {
      objParam: {
        a: [for i in range(0, 10): i + thing]
        b: [for i in range(1, 2): i * thing]
        c: {
          d: [for j in range(2, 3): j]
        }
        e: [
          for k in range(4, 4): {
            f: k - thing
          }
        ]
      }
      stringParamB: ''
      arrayParam: [
        {
          e: [for j in range(7, 7): j % thing]
        }
      ]
    }
  }
]

// BEGIN: Key Vault Secret Reference

resource kv 'Microsoft.KeyVault/vaults@2019-09-01' existing = {
  name: 'testkeyvault'
}

module secureModule1 'child/secureParams.bicep' = {
  name: 'secureModule1'
  params: {
    secureStringParam1: kv.getSecret('mySecret')
    secureStringParam2: kv.getSecret('mySecret', 'secretVersion')
  }
}

resource scopedKv 'Microsoft.KeyVault/vaults@2019-09-01' existing = {
  name: 'testkeyvault'
  scope: resourceGroup('otherGroup')
}

module secureModule2 'child/secureParams.bicep' = {
  name: 'secureModule2'
  params: {
    secureStringParam1: scopedKv.getSecret('mySecret')
    secureStringParam2: scopedKv.getSecret('mySecret', 'secretVersion')
  }
}

//looped module with looped existing resource (Issue #2862)
var vaults = [
  {
    vaultName: 'test-1-kv'
    vaultRG: 'test-1-rg'
    vaultSub: 'abcd-efgh'
  }
  {
    vaultName: 'test-2-kv'
    vaultRG: 'test-2-rg'
    vaultSub: 'ijkl-1adg1'
  }
]
var secrets = [
  {
    name: 'secret01'
    version: 'versionA'
  }
  {
    name: 'secret02'
    version: 'versionB'
  }
]

resource loopedKv 'Microsoft.KeyVault/vaults@2019-09-01' existing = [
  for vault in vaults: {
    name: vault.vaultName
    scope: resourceGroup(vault.vaultSub, vault.vaultRG)
  }
]

module secureModuleLooped 'child/secureParams.bicep' = [
  for (secret, i) in secrets: {
    name: 'secureModuleLooped-${i}'
    params: {
      secureStringParam1: loopedKv[i].getSecret(secret.name)
      secureStringParam2: loopedKv[i].getSecret(secret.name, secret.version)
    }
  }
]

module secureModuleCondition 'child/secureParams.bicep' = {
  name: 'secureModuleCondition'
  params: {
    secureStringParam1: true ? kv.getSecret('mySecret') : 'notTrue'
    secureStringParam2: true ? false ? 'false' : kv.getSecret('mySecret', 'secretVersion') : 'notTrue'
  }
}

// END: Key Vault Secret Reference

module withSpace 'module with space.bicep' = {
  name: 'withSpace'
}

module folderWithSpace 'child/folder with space/child with space.bicep' = {
  name: 'childWithSpace'
}

// nameof

var nameofModule = nameof(folderWithSpace)
var nameofModuleParam = nameof(secureModuleCondition.outputs.exposedSecureString)
" with a length of 8969, but "@sys.description('this is deployTimeSuffix param')
param deployTimeSuffix string = newGuid()

@sys.description('this module a')
module modATest './modulea.bicep' = {
  name: 'modATest'
  params: {
    stringParamB: 'hello!'
    objParam: {
      a: 'b'
    }
    arrayParam: [
      {
        a: 'b'
      }
      'abc'
    ]
  }
}

@sys.description('this module b')
module modB './child/moduleb.bicep' = {
  name: 'modB'
  params: {
    location: 'West US'
  }
}

@sys.description('this is just module b with a condition')
module modBWithCondition './child/moduleb.bicep' = if (1 + 1 == 2) {
  name: 'modBWithCondition'
  params: {
    location: 'East US'
  }
}

module modBWithCondition2 './child/moduleb.bicep' =
  // awkward comment
  if (1 + 1 == 2) {
    name: 'modBWithCondition2'
    params: {
      location: 'East US'
    }
  }

module modC './child/modulec.json' = {
  name: 'modC'
  params: {
    location: 'West US'
  }
}

module modCWithCondition './child/modulec.json' = if (2 - 1 == 1) {
  name: 'modCWithCondition'
  params: {
    location: 'East US'
  }
}

module optionalWithNoParams1 './child/optionalParams.bicep' = {
  name: 'optionalWithNoParams1'
}

module optionalWithNoParams2 './child/optionalParams.bicep' = {
  name: 'optionalWithNoParams2'
  params: {}
}

module optionalWithAllParams './child/optionalParams.bicep' = {
  name: 'optionalWithNoParams3'
  params: {
    optionalString: 'abc'
    optionalInt: 42
    optionalObj: {}
    optionalArray: []
  }
}

resource resWithDependencies 'Mock.Rp/mockResource@2020-01-01' = {
  name: 'harry'
  properties: {
    modADep: modATest.outputs.stringOutputA
    modBDep: modB.outputs.myResourceId
    modCDep: modC.outputs.myResourceId
  }
}

module optionalWithAllParamsAndManualDependency './child/optionalParams.bicep' = {
  name: 'optionalWithAllParamsAndManualDependency'
  params: {
    optionalString: 'abc'
    optionalInt: 42
    optionalObj: {}
    optionalArray: []
  }
  dependsOn: [
    resWithDependencies
    optionalWithAllParams
  ]
}

module optionalWithImplicitDependency './child/optionalParams.bicep' = {
  name: 'optionalWithImplicitDependency'
  params: {
    optionalString: concat(resWithDependencies.id, optionalWithAllParamsAndManualDependency.name)
    optionalInt: 42
    optionalObj: {}
    optionalArray: []
  }
}

module moduleWithCalculatedName './child/optionalParams.bicep' = {
  name: '${optionalWithAllParamsAndManualDependency.name}${deployTimeSuffix}'
  params: {
    optionalString: concat(resWithDependencies.id, optionalWithAllParamsAndManualDependency.name)
    optionalInt: 42
    optionalObj: {}
    optionalArray: []
  }
}

resource resWithCalculatedNameDependencies 'Mock.Rp/mockResource@2020-01-01' = {
  name: '${optionalWithAllParamsAndManualDependency.name}${deployTimeSuffix}'
  properties: {
    modADep: moduleWithCalculatedName.outputs.outputObj
  }
}

output stringOutputA string = modATest.outputs.stringOutputA
output stringOutputB string = modATest.outputs.stringOutputB
output objOutput object = modATest.outputs.objOutput
output arrayOutput array = modATest.outputs.arrayOutput
output modCalculatedNameOutput object = moduleWithCalculatedName.outputs.outputObj

/*
  valid loop cases
*/

@sys.description('this is myModules')
var myModules = [
  {
    name: 'one'
    location: 'eastus2'
  }
  {
    name: 'two'
    location: 'westus'
  }
]

var emptyArray = []

// simple module loop
module storageResources 'modulea.bicep' = [
  for module in myModules: {
    name: module.name
    params: {
      arrayParam: []
      objParam: module
      stringParamB: module.location
    }
  }
]

// simple indexed module loop
module storageResourcesWithIndex 'modulea.bicep' = [
  for (module, i) in myModules: {
    name: module.name
    params: {
      arrayParam: [
        i + 1
      ]
      objParam: module
      stringParamB: module.location
      stringParamA: concat('a', i)
    }
  }
]

// nested module loop
module nestedModuleLoop 'modulea.bicep' = [
  for module in myModules: {
    name: module.name
    params: {
      arrayParam: [for i in range(0, 3): concat('test-', i, '-', module.name)]
      objParam: module
      stringParamB: module.location
    }
  }
]

// duplicate identifiers across scopes are allowed (inner hides the outer)
module duplicateIdentifiersWithinLoop 'modulea.bicep' = [
  for x in emptyArray: {
    name: 'hello-${x}'
    params: {
      objParam: {}
      stringParamA: 'test'
      stringParamB: 'test'
      arrayParam: [for x in emptyArray: x]
    }
  }
]

// duplicate identifiers across scopes are allowed (inner hides the outer)
var duplicateAcrossScopes = 'hello'
module duplicateInGlobalAndOneLoop 'modulea.bicep' = [
  for duplicateAcrossScopes in []: {
    name: 'hello-${duplicateAcrossScopes}'
    params: {
      objParam: {}
      stringParamA: 'test'
      stringParamB: 'test'
      arrayParam: [for x in emptyArray: x]
    }
  }
]

var someDuplicate = true
var otherDuplicate = false
module duplicatesEverywhere 'modulea.bicep' = [
  for someDuplicate in []: {
    name: 'hello-${someDuplicate}'
    params: {
      objParam: {}
      stringParamB: 'test'
      arrayParam: [for otherDuplicate in emptyArray: '${someDuplicate}-${otherDuplicate}']
    }
  }
]

module propertyLoopInsideParameterValue 'modulea.bicep' = {
  name: 'propertyLoopInsideParameterValue'
  params: {
    objParam: {
      a: [for i in range(0, 10): i]
      b: [for i in range(1, 2): i]
      c: {
        d: [for j in range(2, 3): j]
      }
      e: [
        for k in range(4, 4): {
          f: k
        }
      ]
    }
    stringParamB: ''
    arrayParam: [
      {
        e: [for j in range(7, 7): j]
      }
    ]
  }
}

module propertyLoopInsideParameterValueWithIndexes 'modulea.bicep' = {
  name: 'propertyLoopInsideParameterValueWithIndexes'
  params: {
    objParam: {
      a: [for (i, i2) in range(0, 10): i + i2]
      b: [for (i, i2) in range(1, 2): i / i2]
      c: {
        d: [for (j, j2) in range(2, 3): j * j2]
      }
      e: [
        for (k, k2) in range(4, 4): {
          f: k
          g: k2
        }
      ]
    }
    stringParamB: ''
    arrayParam: [
      {
        e: [for j in range(7, 7): j]
      }
    ]
  }
}

module propertyLoopInsideParameterValueInsideModuleLoop 'modulea.bicep' = [
  for thing in range(0, 1): {
    name: 'propertyLoopInsideParameterValueInsideModuleLoop'
    params: {
      objParam: {
        a: [for i in range(0, 10): i + thing]
        b: [for i in range(1, 2): i * thing]
        c: {
          d: [for j in range(2, 3): j]
        }
        e: [
          for k in range(4, 4): {
            f: k - thing
          }
        ]
      }
      stringParamB: ''
      arrayParam: [
        {
          e: [for j in range(7, 7): j % thing]
        }
      ]
    }
  }
]

// BEGIN: Key Vault Secret Reference

resource kv 'Microsoft.KeyVault/vaults@2019-09-01' existing = {
  name: 'testkeyvault'
}

module secureModule1 'child/secureParams.bicep' = {
  name: 'secureModule1'
  params: {
    secureStringParam1: kv.getSecret('mySecret')
    secureStringParam2: kv.getSecret('mySecret', 'secretVersion')
  }
}

resource scopedKv 'Microsoft.KeyVault/vaults@2019-09-01' existing = {
  name: 'testkeyvault'
  scope: resourceGroup('otherGroup')
}

module secureModule2 'child/secureParams.bicep' = {
  name: 'secureModule2'
  params: {
    secureStringParam1: scopedKv.getSecret('mySecret')
    secureStringParam2: scopedKv.getSecret('mySecret', 'secretVersion')
  }
}

//looped module with looped existing resource (Issue #2862)
var vaults = [
  {
    vaultName: 'test-1-kv'
    vaultRG: 'test-1-rg'
    vaultSub: 'abcd-efgh'
  }
  {
    vaultName: 'test-2-kv'
    vaultRG: 'test-2-rg'
    vaultSub: 'ijkl-1adg1'
  }
]
var secrets = [
  {
    name: 'secret01'
    version: 'versionA'
  }
  {
    name: 'secret02'
    version: 'versionB'
  }
]

resource loopedKv 'Microsoft.KeyVault/vaults@2019-09-01' existing = [
  for vault in vaults: {
    name: vault.vaultName
    scope: resourceGroup(vault.vaultSub, vault.vaultRG)
  }
]

module secureModuleLooped 'child/secureParams.bicep' = [
  for (secret, i) in secrets: {
    name: 'secureModuleLooped-${i}'
    params: {
      secureStringParam1: loopedKv[i].getSecret(secret.name)
      secureStringParam2: loopedKv[i].getSecret(secret.name, secret.version)
    }
  }
]

module secureModuleCondition 'child/secureParams.bicep' = {
  name: 'secureModuleCondition'
  params: {
    secureStringParam1: true ? kv.getSecret('mySecret') : 'notTrue'
    secureStringParam2: true ? false ? 'false' : kv.getSecret('mySecret', 'secretVersion') : 'notTrue'
  }
}

// END: Key Vault Secret Reference

module withSpace 'module with space.bicep' = {
  name: 'withSpace'
}

module folderWithSpace 'child/folder with space/child with space.bicep' = {
  name: 'childWithSpace'
}

// nameof

var nameofModule = nameof(folderWithSpace)
var nameofModuleParam = nameof(secureModuleCondition.outputs.exposedSecureString)

module moduleWithNameof 'modulea.bicep' = {
  name: 'nameofModule'
  scope: resourceGroup(nameof(nameofModuleParam))
}
" has a length of 9089, differs near "
mo" (index 8969).   at FluentAssertions.Execution.LateBoundTestFramework.Throw(String message)
   at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
   at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
   at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
   at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
   at FluentAssertions.Primitives.StringEqualityValidator.ValidateAgainstLengthDifferences()
   at FluentAssertions.Primitives.StringValidator.Validate()
   at FluentAssertions.Primitives.StringAssertions`1.Be(String expected, String because, Object[] becauseArgs)
   at Bicep.Cli.IntegrationTests.FormatCommandTests.Format_SampleBicepFile_MatchesFormattedSample(DataSet dataSet) in D:\a\bicep\bicep\src\Bicep.Cli.IntegrationTests\FormatCommandTests.cs:line 164

Check warning on line 0 in Bicep.Core.IntegrationTests.Emit.TemplateEmitterTests

See this annotation in the file changed.

@github-actions github-actions / Dotnet Test Results

All 2 runs failed: ValidBicep_TemplateEmiterShouldProduceExpectedTemplate_Modules_CRLF (Bicep.Core.IntegrationTests.Emit.TemplateEmitterTests)

TestResults/_fv-az1149-192_2024-07-29_23_00_09.trx [took 0s]
TestResults/runneradmin_fv-az1258-528_2024-07-29_23_01_10[1].trx [took 0s]
Raw output
Expected AssertionExtensions to be empty, but found {"[BCP035 (Error)] The specified "module" declaration is missing the following required properties: "params"."}.   at FluentAssertions.Execution.LateBoundTestFramework.Throw(String message)
   at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
   at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
   at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
   at FluentAssertions.Execution.GivenSelector`1.FailWith(String message, Object[] args)
   at FluentAssertions.Collections.GenericCollectionAssertions`3.BeEmpty(String because, Object[] becauseArgs)
   at Bicep.Core.UnitTests.Assertions.IDiagnosticCollectionAssertions.NotHaveErrors(String because, Object[] becauseArgs) in D:\a\bicep\bicep\src\Bicep.Core.UnitTests\Assertions\IDiagnosticCollectionExtensions.cs:line 96
   at Bicep.Core.IntegrationTests.Emit.TemplateEmitterTests.ValidBicep_TemplateEmiterShouldProduceExpectedTemplate(DataSet dataSet) in D:\a\bicep\bicep\src\Bicep.Core.IntegrationTests\Emit\TemplateEmitterTests.cs:line 64

Check warning on line 0 in Bicep.Core.IntegrationTests.ParserTests

See this annotation in the file changed.

@github-actions github-actions / Dotnet Test Results

All 2 runs failed: Parser_should_produce_expected_syntax_Modules_CRLF (Bicep.Core.IntegrationTests.ParserTests)

TestResults/_fv-az1149-192_2024-07-29_23_00_09.trx [took 0s]
TestResults/runneradmin_fv-az1258-528_2024-07-29_23_01_10[1].trx [took 0s]
Raw output
Found diffs between actual and expected:
"[] -- //@[000:9059) ProgramSyntax
[2] ++ //@[000:9180) ProgramSyntax
[3360] ++ 
[3361] ++ module moduleWithNameof 'modulea.bicep' = {
[3362] ++   name: 'nameofModule'
[3363] ++   scope: resourceGroup(nameof(nameofModuleParam))
[3364] ++ }
[3366] ++ //@[009:0011) ├─Token(NewLine) |\n\n|"

View this diff with:
    git diff --color-words --no-index "D:\a\bicep\bicep\src\Bicep.Core.Samples\Files\baselines\Modules_CRLF\main.syntax.bicep" "D:\a\bicep\bicep\TestResults\Deploy_runneradmin 20240729T230109_6164\In\6f71adfa-1dbe-4bc3-a144-4f8bb2825468\Modules_CRLF\main.syntax.bicep"

Overwrite the single baseline:
    xcopy /yq "D:\a\bicep\bicep\TestResults\Deploy_runneradmin 20240729T230109_6164\In\6f71adfa-1dbe-4bc3-a144-4f8bb2825468\Modules_CRLF\main.syntax.bicep" "D:\a\bicep\bicep\src\Bicep.Core.Samples\Files\baselines\Modules_CRLF\main.syntax.bicep"

Overwrite all baselines:
    dotnet test --filter "TestCategory=Baseline" -- 'TestRunParameters.Parameter(name=\"SetBaseLine\", value=\"true\")'

See https://github.com/Azure/bicep/blob/main/CONTRIBUTING.md#updating-test-baselines for more information on how to fix this error.
   at FluentAssertions.Execution.LateBoundTestFramework.Throw(String message)
   at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
   at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
   at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
   at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
   at FluentAssertions.Execution.AssertionScope.FailWith(String message, Object[] args)
   at Bicep.Core.UnitTests.Assertions.StringAssertionsExtensions.EqualWithLineByLineDiffOutput(StringAssertions instance, TestContext testContext, String expected, String expectedLocation, String actualLocation, String because, Object[] becauseArgs) in D:\a\bicep\bicep\src\Bicep.Core.UnitTests\Assertions\StringAssertionsExtensions.cs:line 70
   at Bicep.Core.IntegrationTests.ParserTests.Parser_should_produce_expected_syntax(DataSet dataSet) in D:\a\bicep\bicep\src\Bicep.Core.IntegrationTests\ParserTests.cs:line 66
   at InvokeStub_ParserTests.Parser_should_produce_expected_syntax(Object, Span`1)
   at System.Reflection.MethodBaseInvoker.InvokeWithOneArg(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)

Check warning on line 0 in Bicep.Core.IntegrationTests.Semantics.SemanticModelTests

See this annotation in the file changed.

@github-actions github-actions / Dotnet Test Results

All 2 runs failed: ProgramsShouldProduceExpectedIrTree_Modules_CRLF (Bicep.Core.IntegrationTests.Semantics.SemanticModelTests)

TestResults/_fv-az1149-192_2024-07-29_23_00_09.trx [took 0s]
TestResults/runneradmin_fv-az1258-528_2024-07-29_23_01_10[1].trx [took 0s]
Raw output
Found diffs between actual and expected:
"[] -- //@[000:9059) ProgramExpression
[2] ++ //@[000:9180) ProgramExpression
[1260] ++ 
[1261] ++ module moduleWithNameof 'modulea.bicep' = {
[1262] ++   name: 'nameofModule'
[1263] ++   scope: resourceGroup(nameof(nameofModuleParam))
[1264] ++ }"

View this diff with:
    git diff --color-words --no-index "D:\a\bicep\bicep\src\Bicep.Core.Samples\Files\baselines\Modules_CRLF\main.ir.bicep" "D:\a\bicep\bicep\TestResults\Deploy_runneradmin 20240729T230109_6164\In\4f7abc8c-a3c9-4f98-ba18-fd6f59caa3ed\Modules_CRLF\main.ir.bicep"

Overwrite the single baseline:
    xcopy /yq "D:\a\bicep\bicep\TestResults\Deploy_runneradmin 20240729T230109_6164\In\4f7abc8c-a3c9-4f98-ba18-fd6f59caa3ed\Modules_CRLF\main.ir.bicep" "D:\a\bicep\bicep\src\Bicep.Core.Samples\Files\baselines\Modules_CRLF\main.ir.bicep"

Overwrite all baselines:
    dotnet test --filter "TestCategory=Baseline" -- 'TestRunParameters.Parameter(name=\"SetBaseLine\", value=\"true\")'

See https://github.com/Azure/bicep/blob/main/CONTRIBUTING.md#updating-test-baselines for more information on how to fix this error.
   at FluentAssertions.Execution.LateBoundTestFramework.Throw(String message)
   at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
   at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
   at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
   at Bicep.Core.UnitTests.Assertions.StringAssertionsExtensions.EqualWithLineByLineDiffOutput(StringAssertions instance, TestContext testContext, String expected, String expectedLocation, String actualLocation, String because, Object[] becauseArgs) in D:\a\bicep\bicep\src\Bicep.Core.UnitTests\Assertions\StringAssertionsExtensions.cs:line 70
   at Bicep.Core.IntegrationTests.Semantics.SemanticModelTests.ProgramsShouldProduceExpectedIrTree(DataSet dataSet) in D:\a\bicep\bicep\src\Bicep.Core.IntegrationTests\Semantics\SemanticModelTests.cs:line 346

Check warning on line 0 in Bicep.Core.IntegrationTests.Semantics.SemanticModelTests

See this annotation in the file changed.

@github-actions github-actions / Dotnet Test Results

All 2 runs failed: ProgramsShouldProduceExpectedUserDeclaredSymbols_Modules_CRLF (Bicep.Core.IntegrationTests.Semantics.SemanticModelTests)

TestResults/_fv-az1149-192_2024-07-29_23_00_09.trx [took 0s]
TestResults/runneradmin_fv-az1258-528_2024-07-29_23_01_10[1].trx [took 0s]
Raw output
Found diffs between actual and expected:
"[457] ++ module moduleWithNameof 'modulea.bicep' = {
[458] ++   name: 'nameofModule'
[459] ++   scope: resourceGroup(nameof(nameofModuleParam))
[460] ++ }
[461] ++ "

View this diff with:
    git diff --color-words --no-index "D:\a\bicep\bicep\src\Bicep.Core.Samples\Files\baselines\Modules_CRLF\main.symbols.bicep" "D:\a\bicep\bicep\TestResults\Deploy_runneradmin 20240729T230109_6164\In\ef35bef8-7e92-4d53-beba-cbda4afaa6e5\main.diagnostics.bicep"

Overwrite the single baseline:
    xcopy /yq "D:\a\bicep\bicep\TestResults\Deploy_runneradmin 20240729T230109_6164\In\ef35bef8-7e92-4d53-beba-cbda4afaa6e5\main.diagnostics.bicep" "D:\a\bicep\bicep\src\Bicep.Core.Samples\Files\baselines\Modules_CRLF\main.symbols.bicep"

Overwrite all baselines:
    dotnet test --filter "TestCategory=Baseline" -- 'TestRunParameters.Parameter(name=\"SetBaseLine\", value=\"true\")'

See https://github.com/Azure/bicep/blob/main/CONTRIBUTING.md#updating-test-baselines for more information on how to fix this error.
   at FluentAssertions.Execution.LateBoundTestFramework.Throw(String message)
   at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
   at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
   at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
   at Bicep.Core.UnitTests.Assertions.StringAssertionsExtensions.EqualWithLineByLineDiffOutput(StringAssertions instance, TestContext testContext, String expected, String expectedLocation, String actualLocation, String because, Object[] becauseArgs) in D:\a\bicep\bicep\src\Bicep.Core.UnitTests\Assertions\StringAssertionsExtensions.cs:line 70
   at Bicep.Core.IntegrationTests.Semantics.SemanticModelTests.ProgramsShouldProduceExpectedUserDeclaredSymbols(DataSet dataSet) in D:\a\bicep\bicep\src\Bicep.Core.IntegrationTests\Semantics\SemanticModelTests.cs:line 95

Check warning on line 0 in Bicep.Core.IntegrationTests.LexerTests

See this annotation in the file changed.

@github-actions github-actions / Dotnet Test Results

All 2 runs failed: LexerShouldProduceExpectedTokens_Modules_CRLF (Bicep.Core.IntegrationTests.LexerTests)

TestResults/_fv-az1149-192_2024-07-29_23_00_09.trx [took 0s]
TestResults/runneradmin_fv-az1258-528_2024-07-29_23_01_10[1].trx [took 0s]
Raw output
Found diffs between actual and expected:
"[2112] ++ module moduleWithNameof 'modulea.bicep' = {
[2113] ++   name: 'nameofModule'
[2114] ++   scope: resourceGroup(nameof(nameofModuleParam))
[2115] ++ }
[2116] ++ 
[2117] ++ //@[009:011) NewLine |\n\n|"

View this diff with:
    git diff --color-words --no-index "D:\a\bicep\bicep\src\Bicep.Core.Samples\Files\baselines\Modules_CRLF\main.tokens.bicep" "D:\a\bicep\bicep\TestResults\Deploy_runneradmin 20240729T230109_6164\In\c8130044-ccad-4a9e-bb94-a0bab4652676\Modules_CRLF\main.tokens.bicep"

Overwrite the single baseline:
    xcopy /yq "D:\a\bicep\bicep\TestResults\Deploy_runneradmin 20240729T230109_6164\In\c8130044-ccad-4a9e-bb94-a0bab4652676\Modules_CRLF\main.tokens.bicep" "D:\a\bicep\bicep\src\Bicep.Core.Samples\Files\baselines\Modules_CRLF\main.tokens.bicep"

Overwrite all baselines:
    dotnet test --filter "TestCategory=Baseline" -- 'TestRunParameters.Parameter(name=\"SetBaseLine\", value=\"true\")'

See https://github.com/Azure/bicep/blob/main/CONTRIBUTING.md#updating-test-baselines for more information on how to fix this error.
   at FluentAssertions.Execution.LateBoundTestFramework.Throw(String message)
   at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
   at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
   at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
   at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
   at FluentAssertions.Execution.AssertionScope.FailWith(String message, Object[] args)
   at Bicep.Core.UnitTests.Assertions.StringAssertionsExtensions.EqualWithLineByLineDiffOutput(StringAssertions instance, TestContext testContext, String expected, String expectedLocation, String actualLocation, String because, Object[] becauseArgs) in D:\a\bicep\bicep\src\Bicep.Core.UnitTests\Assertions\StringAssertionsExtensions.cs:line 70
   at Bicep.Core.IntegrationTests.LexerTests.LexerShouldProduceExpectedTokens(DataSet dataSet) in D:\a\bicep\bicep\src\Bicep.Core.IntegrationTests\LexerTests.cs:line 108
   at InvokeStub_LexerTests.LexerShouldProduceExpectedTokens(Object, Span`1)
   at System.Reflection.MethodBaseInvoker.InvokeWithOneArg(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)

Check warning on line 0 in Bicep.Core.IntegrationTests.Emit.TemplateEmitterTests

See this annotation in the file changed.

@github-actions github-actions / Dotnet Test Results

All 2 runs failed: ValidBicepTextWriter_TemplateEmiterShouldProduceExpectedTemplate_Modules_CRLF (Bicep.Core.IntegrationTests.Emit.TemplateEmitterTests)

TestResults/_fv-az1149-192_2024-07-29_23_00_09.trx [took 0s]
TestResults/runneradmin_fv-az1258-528_2024-07-29_23_01_10[1].trx [took 0s]
Raw output
Expected AssertionExtensions to be empty, but found {"[BCP035 (Error)] The specified "module" declaration is missing the following required properties: "params"."}.   at FluentAssertions.Execution.LateBoundTestFramework.Throw(String message)
   at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
   at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
   at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
   at FluentAssertions.Execution.GivenSelector`1.FailWith(String message, Object[] args)
   at FluentAssertions.Collections.GenericCollectionAssertions`3.BeEmpty(String because, Object[] becauseArgs)
   at Bicep.Core.UnitTests.Assertions.IDiagnosticCollectionAssertions.NotHaveErrors(String because, Object[] becauseArgs) in D:\a\bicep\bicep\src\Bicep.Core.UnitTests\Assertions\IDiagnosticCollectionExtensions.cs:line 96
   at Bicep.Core.IntegrationTests.Emit.TemplateEmitterTests.ValidBicepTextWriter_TemplateEmiterShouldProduceExpectedTemplate(DataSet dataSet) in D:\a\bicep\bicep\src\Bicep.Core.IntegrationTests\Emit\TemplateEmitterTests.cs:line 190

Check warning on line 0 in Bicep.Core.IntegrationTests.Emit.TemplateEmitterTests

See this annotation in the file changed.

@github-actions github-actions / Dotnet Test Results

All 2 runs failed: ValidBicep_EmitTemplate_should_produce_expected_symbolicname_template_Modules_CRLF (Bicep.Core.IntegrationTests.Emit.TemplateEmitterTests)

TestResults/_fv-az1149-192_2024-07-29_23_00_09.trx [took 0s]
TestResults/runneradmin_fv-az1258-528_2024-07-29_23_01_10[1].trx [took 0s]
Raw output
Expected AssertionExtensions to be empty, but found {"[BCP035 (Error)] The specified "module" declaration is missing the following required properties: "params"."}.   at FluentAssertions.Execution.LateBoundTestFramework.Throw(String message)
   at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
   at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
   at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
   at FluentAssertions.Execution.GivenSelector`1.FailWith(String message, Object[] args)
   at FluentAssertions.Collections.GenericCollectionAssertions`3.BeEmpty(String because, Object[] becauseArgs)
   at Bicep.Core.UnitTests.Assertions.IDiagnosticCollectionAssertions.NotHaveErrors(String because, Object[] becauseArgs) in D:\a\bicep\bicep\src\Bicep.Core.UnitTests\Assertions\IDiagnosticCollectionExtensions.cs:line 96
   at Bicep.Core.IntegrationTests.Emit.TemplateEmitterTests.ValidBicep_EmitTemplate_should_produce_expected_symbolicname_template(DataSet dataSet) in D:\a\bicep\bicep\src\Bicep.Core.IntegrationTests\Emit\TemplateEmitterTests.cs:line 89

Check warning on line 0 in Bicep.Core.IntegrationTests.Emit.TemplateEmitterTests

See this annotation in the file changed.

@github-actions github-actions / Dotnet Test Results

All 2 runs failed: SourceMap_maps_json_to_bicep_lines_Modules_CRLF (Bicep.Core.IntegrationTests.Emit.TemplateEmitterTests)

TestResults/_fv-az1149-192_2024-07-29_23_00_09.trx [took 0s]
TestResults/runneradmin_fv-az1258-528_2024-07-29_23_01_10[1].trx [took 0s]
Raw output
Expected emitResult.Status to be EmitStatus.Succeeded {value: 0}, but found EmitStatus.Failed {value: 1}.   at FluentAssertions.Execution.LateBoundTestFramework.Throw(String message)
   at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
   at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
   at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
   at FluentAssertions.Primitives.EnumAssertions`2.Be(TEnum expected, String because, Object[] becauseArgs)
   at Bicep.Core.IntegrationTests.Emit.TemplateEmitterTests.SourceMap_maps_json_to_bicep_lines(DataSet dataSet) in D:\a\bicep\bicep\src\Bicep.Core.IntegrationTests\Emit\TemplateEmitterTests.cs:line 144

Check warning on line 0 in Bicep.Core.IntegrationTests.PrettyPrint.PrettyPrinterV2Tests

See this annotation in the file changed.

@github-actions github-actions / Dotnet Test Results

All 2 runs failed: Print_DataSet_ProducesExpectedOutput_Modules_CRLF (Bicep.Core.IntegrationTests.PrettyPrint.PrettyPrinterV2Tests)

TestResults/_fv-az1149-192_2024-07-29_23_00_09.trx [took 0s]
TestResults/runneradmin_fv-az1258-528_2024-07-29_23_01_10[1].trx [took 0s]
Raw output
Found diffs between actual and expected:
"[398] ++ module moduleWithNameof 'modulea.bicep' = {
[399] ++   name: 'nameofModule'
[400] ++   scope: resourceGroup(nameof(nameofModuleParam))
[401] ++ }
[402] ++ "

View this diff with:
    git diff --color-words --no-index "D:\a\bicep\bicep\src\Bicep.Core.Samples\Files\baselines\Modules_CRLF\main.formatted.bicep" "D:\a\bicep\bicep\TestResults\Deploy_runneradmin 20240729T230109_6164\In\7cbffb7e-95d1-44df-80f4-5a8667961bc1\Modules_CRLF\main.formatted.bicep"

Overwrite the single baseline:
    xcopy /yq "D:\a\bicep\bicep\TestResults\Deploy_runneradmin 20240729T230109_6164\In\7cbffb7e-95d1-44df-80f4-5a8667961bc1\Modules_CRLF\main.formatted.bicep" "D:\a\bicep\bicep\src\Bicep.Core.Samples\Files\baselines\Modules_CRLF\main.formatted.bicep"

Overwrite all baselines:
    dotnet test --filter "TestCategory=Baseline" -- 'TestRunParameters.Parameter(name=\"SetBaseLine\", value=\"true\")'

See https://github.com/Azure/bicep/blob/main/CONTRIBUTING.md#updating-test-baselines for more information on how to fix this error.
   at FluentAssertions.Execution.LateBoundTestFramework.Throw(String message)
   at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
   at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
   at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
   at Bicep.Core.UnitTests.Assertions.StringAssertionsExtensions.EqualWithLineByLineDiffOutput(StringAssertions instance, TestContext testContext, String expected, String expectedLocation, String actualLocation, String because, Object[] becauseArgs) in D:\a\bicep\bicep\src\Bicep.Core.UnitTests\Assertions\StringAssertionsExtensions.cs:line 70
   at Bicep.Core.IntegrationTests.PrettyPrint.PrettyPrinterV2Tests.Print_DataSet_ProducesExpectedOutput(DataSet dataSet) in D:\a\bicep\bicep\src\Bicep.Core.IntegrationTests\PrettyPrint\PrettyPrinterV2Tests.cs:line 52
   at InvokeStub_PrettyPrinterV2Tests.Print_DataSet_ProducesExpectedOutput(Object, Span`1)
   at System.Reflection.MethodBaseInvoker.InvokeWithOneArg(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)

Check warning on line 0 in Bicep.Core.IntegrationTests.Semantics.SemanticModelTests

See this annotation in the file changed.

@github-actions github-actions / Dotnet Test Results

All 2 runs failed: ProgramsShouldProduceExpectedDiagnostics_Modules_CRLF (Bicep.Core.IntegrationTests.Semantics.SemanticModelTests)

TestResults/_fv-az1149-192_2024-07-29_23_00_09.trx [took 0s]
TestResults/runneradmin_fv-az1258-528_2024-07-29_23_01_10[1].trx [took 0s]
Raw output
Found diffs between actual and expected:
"[389] ++ module moduleWithNameof 'modulea.bicep' = {
[390] ++   name: 'nameofModule'
[391] ++   scope: resourceGroup(nameof(nameofModuleParam))
[392] ++ }
[393] ++ "

View this diff with:
    git diff --color-words --no-index "D:\a\bicep\bicep\src\Bicep.Core.Samples\Files\baselines\Modules_CRLF\main.diagnostics.bicep" "D:\a\bicep\bicep\TestResults\Deploy_runneradmin 20240729T230109_6164\In\c4368d4f-59ed-4246-b086-106459b86438\main.diagnostics.bicep"

Overwrite the single baseline:
    xcopy /yq "D:\a\bicep\bicep\TestResults\Deploy_runneradmin 20240729T230109_6164\In\c4368d4f-59ed-4246-b086-106459b86438\main.diagnostics.bicep" "D:\a\bicep\bicep\src\Bicep.Core.Samples\Files\baselines\Modules_CRLF\main.diagnostics.bicep"

Overwrite all baselines:
    dotnet test --filter "TestCategory=Baseline" -- 'TestRunParameters.Parameter(name=\"SetBaseLine\", value=\"true\")'

See https://github.com/Azure/bicep/blob/main/CONTRIBUTING.md#updating-test-baselines for more information on how to fix this error.
   at FluentAssertions.Execution.LateBoundTestFramework.Throw(String message)
   at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
   at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
   at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
   at Bicep.Core.UnitTests.Assertions.StringAssertionsExtensions.EqualWithLineByLineDiffOutput(StringAssertions instance, TestContext testContext, String expected, String expectedLocation, String actualLocation, String because, Object[] becauseArgs) in D:\a\bicep\bicep\src\Bicep.Core.UnitTests\Assertions\StringAssertionsExtensions.cs:line 70
   at Bicep.Core.IntegrationTests.Semantics.SemanticModelTests.ProgramsShouldProduceExpectedDiagnostics(DataSet dataSet) in D:\a\bicep\bicep\src\Bicep.Core.IntegrationTests\Semantics\SemanticModelTests.cs:line 56

Check warning on line 0 in Bicep.Core.Samples.DataSetsTests

See this annotation in the file changed.

@github-actions github-actions / Dotnet Test Results

All 2 runs failed: DataSetBicepLineEndingsShouldMatchDataSetNameSuffix_Resources_CRLF (Bicep.Core.Samples.DataSetsTests)

TestResults/_fv-az700-634_2024-07-29_23_00_50[1].trx [took 0s]
TestResults/runneradmin_fv-az1388-483_2024-07-29_23_01_59.trx [took 0s]
Raw output
Expected lineEndingTokens.All(token => expectedPattern.IsMatch(token.Text)) to be true, but found False.   at FluentAssertions.Execution.LateBoundTestFramework.Throw(String message)
   at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
   at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
   at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
   at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
   at FluentAssertions.Execution.AssertionScope.FailWith(String message, Object[] args)
   at FluentAssertions.Primitives.BooleanAssertions`1.BeTrue(String because, Object[] becauseArgs)
   at Bicep.Core.Samples.DataSetsTests.DataSetBicepLineEndingsShouldMatchDataSetNameSuffix(DataSet dataSet) in D:\a\bicep\bicep\src\Bicep.Core.Samples\DataSetsTests.cs:line 40
   at InvokeStub_DataSetsTests.DataSetBicepLineEndingsShouldMatchDataSetNameSuffix(Object, Span`1)
   at System.Reflection.MethodBaseInvoker.InvokeWithOneArg(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)

Check warning on line 0 in Bicep.Core.Samples.DataSetsTests

See this annotation in the file changed.

@github-actions github-actions / Dotnet Test Results

All 2 runs failed: DataSetBicepLineEndingsShouldMatchDataSetNameSuffix_Modules_CRLF (Bicep.Core.Samples.DataSetsTests)

TestResults/_fv-az700-634_2024-07-29_23_00_50[1].trx [took 0s]
TestResults/runneradmin_fv-az1388-483_2024-07-29_23_01_59.trx [took 0s]
Raw output
Expected lineEndingTokens.All(token => expectedPattern.IsMatch(token.Text)) to be true, but found False.   at FluentAssertions.Execution.LateBoundTestFramework.Throw(String message)
   at FluentAssertions.Execution.TestFrameworkProvider.Throw(String message)
   at FluentAssertions.Execution.DefaultAssertionStrategy.HandleFailure(String message)
   at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
   at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
   at FluentAssertions.Execution.AssertionScope.FailWith(String message, Object[] args)
   at FluentAssertions.Primitives.BooleanAssertions`1.BeTrue(String because, Object[] becauseArgs)
   at Bicep.Core.Samples.DataSetsTests.DataSetBicepLineEndingsShouldMatchDataSetNameSuffix(DataSet dataSet) in D:\a\bicep\bicep\src\Bicep.Core.Samples\DataSetsTests.cs:line 40
   at InvokeStub_DataSetsTests.DataSetBicepLineEndingsShouldMatchDataSetNameSuffix(Object, Span`1)
   at System.Reflection.MethodBaseInvoker.InvokeWithOneArg(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)