summaryrefslogtreecommitdiff
path: root/tests/helixpublish.proj
blob: 699e220731e4c2ce623f079a63a9b79eb061c9ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  
  <PropertyGroup>
    <__BuildType>$(ConfigurationGroup)</__BuildType>
  </PropertyGroup>

  <Import Project="..\dir.props" />
  <Import Project="$(ToolsDir)CloudTest.targets" Condition="Exists('$(ToolsDir)CloudTest.targets')" />

  <!-- Define test payload & Correlation (Core_Root) payload -->
  <ItemGroup>
    <TestList Include="$(TestWorkingDir)\archive\tests\*" ></TestList>
    <CoreRootUri Include="$(TestWorkingDir)\archive\Core_Root*\*.zip" ></CoreRootUri>
    <DummyPackages Include="$(TestWorkingDir)\archive\packages\*" ></DummyPackages>
    <ForUpload Include="@(TestList)" ></ForUpload>
    <ForUpload Include="@(CoreRootUri)" ></ForUpload>
  </ItemGroup>

  <!-- Define name & location of test JSON blob -->
  <PropertyGroup>
    <SkipArchive>true</SkipArchive>
    <PayloadTestListFilename>Tests.$(ConfigurationGroup).json</PayloadTestListFilename>
    <PayloadTestListFile>$(TestWorkingDir)$(PayloadTestListFilename)</PayloadTestListFile>
  </PropertyGroup>

  <Target Name="CreateTestListJson"
          DependsOnTargets="CreateAzureStorage">

    <ItemGroup>
      <SupplementalPayload Include="@(DummyPackages)" >
        <RelativeBlobPath>$(Platform)$(ConfigurationGroup)/Packages.zip</RelativeBlobPath>
      </SupplementalPayload>
      <CorrelationPayloadUri Include="@(SupplementalPayload->'$(DropUri)%(RelativeBlobPath)$(DropUriReadOnlyToken)')" />
    </ItemGroup>

    <PropertyGroup>
      <!-- flatten it into a property as msbuild chokes on @(CorrelationPayloadUri) -->
      <CorrelationPayloadUris>@(CorrelationPayloadUri)</CorrelationPayloadUris>
      <!-- Define Correlation Payload as a property -->
      <CoreRootUris>$(DropUri)$(Platform)$(ConfigurationGroup)/Tests/$([System.String]::Copy('%(RecursiveDir)').Replace('\', '/'))%(CoreRootUri.Filename)%(CoreRootUri.Extension)$(DropUriReadOnlyToken)</CoreRootUris>
      <CorrelationPayloadProperty>$(CorrelationPayloadUris);$(CoreRootUris)</CorrelationPayloadProperty>
    </PropertyGroup>

    <ItemGroup>
      <TestList>
        <Command Condition="'$(TargetsWindows)' == 'true'">$(HelixPythonPath) $(RunnerScript) --script %HELIX_WORKITEM_PAYLOAD%\runtests.cmd</Command>
        <Command Condition="'$(TargetsWindows)' != 'true'">chmod +x $HELIX_WORKITEM_PAYLOAD/runtests.sh &amp;&amp; $(HelixPythonPath) $(RunnerScript) --script $HELIX_WORKITEM_PAYLOAD/runtests.sh</Command>
        <CorrelationPayloadUris>[$(CorrelationPayloadProperty)]</CorrelationPayloadUris>
        <PayloadUri>$(DropUri)$(Platform)$(ConfigurationGroup)/Tests/$([System.String]::Copy('%(RecursiveDir)').Replace('\', '/'))%(Filename)%(Extension)$(DropUriReadOnlyToken)</PayloadUri>
        <WorkItemId>%(Filename)</WorkItemId>
        <TimeoutInSeconds>$(TimeoutInSeconds)</TimeoutInSeconds>
      </TestList>
    </ItemGroup>
    <WriteItemsToJson JsonFileName="$(PayloadTestListFile)" Items="@(TestList)" />
    <!-- add test lists to the list of items for upload -->
    <ItemGroup>
      <ForUpload Include="$(PayloadTestListFile)">
        <RelativeBlobPath>$(PayloadTestListFilename)</RelativeBlobPath>
      </ForUpload>
    </ItemGroup>
    <!-- for completion event -->
    <ItemGroup>
      <TestListFile Include="$(PayloadTestListFile)">
        <BuildCompleteJson>$(TestWorkingDir)$(OSPlatformConfig)/FuncBuildComplete.json</BuildCompleteJson>
        <OfficialBuildJson>$(TestWorkingDir)$(OSPlatformConfig)/FuncOfficialBuild.json</OfficialBuildJson>
        <HelixJobUploadCompletePath>$(TestWorkingDir)$(OSPlatformConfig)/helixjobuploadcomplete.sem</HelixJobUploadCompletePath>
      </TestListFile>
    </ItemGroup>
  </Target>

  <Target Name="Build" />

</Project>