summaryrefslogtreecommitdiff
path: root/audio/tests/wavetest/WaveTestTaef.h
blob: a8d38305abeec267ee2f40e0da08b55d3c9150ea (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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
// ------------------------------------------------------------------------------
//
// Copyright (C) Microsoft. All rights reserved.
//
// File Name:
//
//  WaveTestTaef.h
//
// Abstract:
//
//  Include file for WaveTestTaef
//
// -------------------------------------------------------------------------------
#pragma once

#include "HalfApp.h"

extern IBasicLog*   g_pBasicLog;

// Define custom test resource properties
namespace WEX {
    namespace TestExecution {
        namespace TestResourceProperty
        {
            static const wchar_t c_szMode[] = L"Mode";
            static const wchar_t c_szPin[] = L"Pin";
        }
    }
}

namespace WDMAudio
{

    class WaveTest
    {
        BEGIN_TEST_CLASS(WaveTest)
            TEST_CLASS_PROPERTY(L"Kits.SupportedOS", L"Windows v10.0 Client x86")
            TEST_CLASS_PROPERTY(L"Kits.SupportedOS", L"Windows v10.0 Client x64")
            TEST_CLASS_PROPERTY(L"Kits.SupportedOS", L"Windows v10.0 Client ARM")
            TEST_CLASS_PROPERTY(L"Kits.SupportedOS", L"Windows v10.0 Client ARM64")
            TEST_CLASS_PROPERTY(L"Kits.SupportedOS", L"Windows v10.0 Server x64")
            TEST_CLASS_PROPERTY(L"Kits.MinRelease", L"19H1")
            TEST_CLASS_PROPERTY(L"Kits.CorePackageComposition", L"Full")
            TEST_CLASS_PROPERTY(L"Kits.IsInProc", L"True")
            TEST_CLASS_PROPERTY(L"Kits.Parameter", L"DeviceID")
            TEST_CLASS_PROPERTY(L"Kits.Parameter.DeviceID.Description", L"Device id of device under test")
            TEST_CLASS_PROPERTY(L"Kits.PublishingOrganization", L"Microsoft Corporation")
            TEST_CLASS_PROPERTY(L"Kits.TestType", L"Development")
            TEST_CLASS_PROPERTY(L"Kits.DevelopmentPhase", L"Development and Integration")
            TEST_CLASS_PROPERTY(L"Subfeature", L"Wave Driver Tests")
            TEST_CLASS_PROPERTY(L"ThreadingModel", L"MTA")
            TEST_CLASS_PROPERTY(L"ArtifactUnderTest", L"onecore\\external\\ddk\\inc\\drmk.h")
            TEST_CLASS_PROPERTY(L"ArtifactUnderTest", L"onecoreuap\\external\\ddk\\lib\\$(build.arch)\\drmk.lib")
            TEST_CLASS_PROPERTY(L"ArtifactUnderTest", L"onecoreuap\\internal\\drivers\\inc\\private\\wdm\\audio\\inf\\wdmaudio.inf")
        END_TEST_CLASS()

            TEST_CLASS_SETUP(WaveTestSetup)
            TEST_CLASS_CLEANUP(WaveTestCleanUp)

            TEST_METHOD_SETUP(TestCaseSetup)
            TEST_METHOD_CLEANUP(TestCaseCleanUp)
            
            BEGIN_TEST_METHOD(TAEF_StreamStateControl)
                TEST_METHOD_PROPERTY(L"HCKCategory", L"Functional")
                TEST_METHOD_PROPERTY(L"HCKCategory", L"Certification")
                TEST_METHOD_PROPERTY(L"TestClassification:Scope", L"Feature")
                TEST_METHOD_PROPERTY(L"ResourceSelection", L"@Id = '*HOST*' OR @Id = '*OFFLOAD*'")
            END_TEST_METHOD()

            BEGIN_TEST_METHOD(TAEF_LoopbackStreamStateControl)
                TEST_METHOD_PROPERTY(L"HCKCategory", L"Functional")
                TEST_METHOD_PROPERTY(L"HCKCategory", L"Certification")
                TEST_METHOD_PROPERTY(L"TestClassification:Scope", L"Feature")
                TEST_METHOD_PROPERTY(L"ResourceSelection", L"@Id = '*LOOPBACK*'")
            END_TEST_METHOD()
            
            BEGIN_TEST_METHOD(TAEF_StreamMinBufferSize)
                TEST_METHOD_PROPERTY(L"HCKCategory", L"Functional")
                TEST_METHOD_PROPERTY(L"HCKCategory", L"Certification")
                TEST_METHOD_PROPERTY(L"TestClassification:Scope", L"Feature")
                TEST_METHOD_PROPERTY(L"ResourceSelection", L"@Id = '*HOST*' OR @Id = '*OFFLOAD*'")
            END_TEST_METHOD()
            
            BEGIN_TEST_METHOD(TAEF_StreamMaxBufferSize)
                TEST_METHOD_PROPERTY(L"HCKCategory", L"Functional")
                TEST_METHOD_PROPERTY(L"HCKCategory", L"Certification")
                TEST_METHOD_PROPERTY(L"TestClassification:Scope", L"Feature")
                TEST_METHOD_PROPERTY(L"ResourceSelection", L"@Id = '*HOST*' OR @Id = '*OFFLOAD*'")
            END_TEST_METHOD()

            BEGIN_TEST_METHOD(TAEF_StreamDifferentFormat)
                TEST_METHOD_PROPERTY(L"HCKCategory", L"Functional")
                TEST_METHOD_PROPERTY(L"HCKCategory", L"Certification")
                TEST_METHOD_PROPERTY(L"TestClassification:Scope", L"Feature")
                TEST_METHOD_PROPERTY(L"ResourceSelection", L"@Id = '*HOST*' OR @Id = '*OFFLOAD*'")
            END_TEST_METHOD()

            BEGIN_TEST_METHOD(TAEF_LoopbackStreamDifferentFormat)
                TEST_METHOD_PROPERTY(L"HCKCategory", L"Functional")
                TEST_METHOD_PROPERTY(L"HCKCategory", L"Certification")
                TEST_METHOD_PROPERTY(L"TestClassification:Scope", L"Feature")
                TEST_METHOD_PROPERTY(L"ResourceSelection", L"@Id = '*LOOPBACK*'")
            END_TEST_METHOD()

            BEGIN_TEST_METHOD(TAEF_StreamMultipleModes)
                TEST_METHOD_PROPERTY(L"HCKCategory", L"Functional")
                TEST_METHOD_PROPERTY(L"HCKCategory", L"Certification")
                TEST_METHOD_PROPERTY(L"TestClassification:Scope", L"Feature")
                TEST_METHOD_PROPERTY(L"ResourceSelection", L"@Id = '*RAW' OR @Id = '*DEFAULT'")
            END_TEST_METHOD()
           
            BEGIN_TEST_METHOD(TAEF_VerifyPinSupportsPullMode)
                TEST_METHOD_PROPERTY(L"HCKCategory", L"Functional")
                TEST_METHOD_PROPERTY(L"HCKCategory", L"Certification")
                TEST_METHOD_PROPERTY(L"TestClassification:Scope", L"Feature")
                TEST_METHOD_PROPERTY(L"ResourceSelection", L"@Type = 'Render' OR @Type = 'Capture'")
            END_TEST_METHOD()
           
    public:
        CHalfApp*   m_pHalf;
    };
}

extern WDMAudio::WaveTest*  g_pWaveTest;