Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ci] Add Android Designer test template #7227

Merged
merged 1 commit into from
Aug 3, 2022
Merged
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
44 changes: 21 additions & 23 deletions build-tools/automation/azure-pipelines.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1318,32 +1318,30 @@ stages:
jdkTestFolder: $(JAVA_HOME_8_X64)
provisionatorChannel: ${{ parameters.provisionatorChannel }}

- template: designer\android-designer-build-win.yaml@yaml
parameters:
designerSourcePath: $(System.DefaultWorkingDirectory)\UITools\Designer
uiToolsSourcePath: $(System.DefaultWorkingDirectory)\UITools
javaSdkDirectory: $(JAVA_HOME_8_X64)

- template: designer\android-designer-tests.yaml@yaml
parameters:
designerSourcePath: $(System.DefaultWorkingDirectory)\UITools\Designer

- task: CopyFiles@2
displayName: 'Copy binlogs'
- task: VSBuild@1
displayName: Restore Xamarin.AndroidDesigner
inputs:
sourceFolder: $(System.DefaultWorkingDirectory)\UITools\Designer\Xamarin.Designer.Android
contents: '**/*.binlog'
targetFolder: $(Build.ArtifactStagingDirectory)\designer-binlogs
overWrite: true
flattenFolders: true
condition: ne(variables['Agent.JobStatus'], 'Succeeded')
solution: $(System.DefaultWorkingDirectory)\UITools\Designer\Xamarin.Designer.Android\Xamarin.AndroidDesigner.sln
vsVersion: 17.0
msbuildArgs: >-
/t:Restore /p:RestoreDisableParallel=true
/p:RestoreConfigFile="$(System.DefaultWorkingDirectory)\UITools\NuGet.Config"
/p:JavaSdkDirectory="$(JAVA_HOME_8_X64)"
platform: Any CPU
configuration: DebugWin32

- task: VSBuild@1
displayName: Build Xamarin.AndroidDesigner
inputs:
solution: $(System.DefaultWorkingDirectory)\UITools\Designer\Xamarin.Designer.Android\Xamarin.AndroidDesigner.sln
vsVersion: 17.0
msbuildArgs: /t:Build
platform: Any CPU
configuration: DebugWin32

- template: yaml-templates/publish-artifact.yaml
- template: yaml-templates/run-designer-tests.yml
parameters:
displayName: upload designer binlogs
artifactName: Test Results - Designer - Windows
targetPath: $(Build.ArtifactStagingDirectory)\designer-binlogs
condition: ne(variables['Agent.JobStatus'], 'Succeeded')
designerSourcePath: $(System.DefaultWorkingDirectory)\UITools\Designer

- stage: bcl_tests
displayName: BCL Emulator Tests
Expand Down
76 changes: 76 additions & 0 deletions build-tools/automation/yaml-templates/run-designer-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
parameters:
designerSourcePath: $(System.DefaultWorkingDirectory)
nunitConsoleVersion: '3.9.0'
runAddinTests: true
testResultArtifactName: Test Results - Designer - Windows

steps:
- task: DeleteFiles@1
displayName: Delete Test Outputs
inputs:
SourceFolder: ${{ parameters.designerSourcePath }}/Xamarin.Designer.Android/Xamarin.AndroidDesigner.Tests
Contents: |
CustomControlsOutput
AndroidCustomControlsClass/obj
AndroidCustomControlsBinding/obj
AndroidCustomControls/obj
AndroidCustomControlsClass/bin
AndroidCustomControlsBinding/bin
AndroidCustomControls/bin

- task: NuGetCommand@2
displayName: Install NUnit.Console ${{ parameters.nunitConsoleVersion }}
inputs:
command: custom
arguments: install NUnit.Console -version ${{ parameters.nunitConsoleVersion }} -OutputDirectory ${{ parameters.designerSourcePath }}/packages

- powershell: |
$nunitConsole = [IO.Path]::Combine("${{ parameters.designerSourcePath }}", "packages", "NUnit.ConsoleRunner.${{ parameters.nunitConsoleVersion }}", "tools", "nunit3-console.exe")
if ([Environment]::OSVersion.Platform -eq "Unix")
{
mono64 "$nunitConsole" "-labels=All" "-result=TestResult_AndroidDesignerUnitTests.xml" "Xamarin.AndroidDesigner.UnitTests.dll"
}
else
{
."$nunitConsole" "-labels=All" "-result=TestResult_AndroidDesignerUnitTests.xml" "Xamarin.AndroidDesigner.UnitTests.dll"
}
displayName: Run Unit Tests
workingDirectory: ${{ parameters.designerSourcePath }}/Xamarin.Designer.Android/Xamarin.AndroidDesigner.Tests/bin-tests/Debug

- powershell: |
if ([Environment]::OSVersion.Platform -eq "Unix")
{
mono64 "--debug" "GuiUnit.exe" "-labels=All" "-result=TestResult_AndroidDesigner.xml" "Xamarin.AndroidDesigner.Tests.dll"
}
else
{
.\GuiUnit.exe "-labels=All" "-result=TestResult_AndroidDesigner.xml" "Xamarin.AndroidDesigner.Tests.dll"
}
displayName: Run GUI Tests
workingDirectory: ${{ parameters.designerSourcePath }}/Xamarin.Designer.Android/Xamarin.AndroidDesigner.Tests/bin/Debug
condition: false # https://dev.azure.com/devdiv/DevDiv/_workitems/edit/1583237

- task: PublishTestResults@2
displayName: Publish Core Unit Test Results
inputs:
testResultsFormat: NUnit
testResultsFiles: ${{ parameters.designerSourcePath }}/Xamarin.Designer.Android/Xamarin.AndroidDesigner.Tests/**/TestResult_*.xml
testRunTitle: Xamarin.AndroidDesigner.Tests
condition: succeededOrFailed()

- task: CopyFiles@2
displayName: 'Copy binlogs'
inputs:
sourceFolder: ${{ parameters.designerSourcePath }}/Xamarin.Designer.Android
contents: '**/*.binlog'
targetFolder: $(Build.ArtifactStagingDirectory)/designer-binlogs
overWrite: true
flattenFolders: true
condition: ne(variables['Agent.JobStatus'], 'Succeeded')

- template: publish-artifact.yaml
parameters:
displayName: upload designer binlogs
artifactName: ${{ parameters.testResultArtifactName }}
targetPath: $(Build.ArtifactStagingDirectory)/designer-binlogs
condition: ne(variables['Agent.JobStatus'], 'Succeeded')