summaryrefslogtreecommitdiff
path: root/audio/tests/KSPosTst/KsPosTestTaef.h
blob: e0c6e862e0a5c418ae8108726176eb7fcf3a80fa (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
// ------------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
// File Name:
//
//  KsPosTestTaef.h
//
// Abstract:
//
//  Include file for KsPosTestTaef
//
// -------------------------------------------------------------------------------
#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 KsPosTestPreTest
    {
        BEGIN_TEST_CLASS(KsPosTestPreTest)
            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.CorePackageComposition", L"OnecoreUAP")
            TEST_CLASS_PROPERTY(L"Kits.IsInProc", L"True")
            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"ThreadingModel", L"MTA")
            END_TEST_CLASS()

            BEGIN_TEST_METHOD(TAEF_VerifyAllEndpointsPluggedIn)
                TEST_METHOD_PROPERTY(L"TestClassification:Scope", L"Feature")
            END_TEST_METHOD()
    };

    class KsPosTest
    {
        BEGIN_TEST_CLASS(KsPosTest)
            TEST_CLASS_PROPERTY(L"Kits.CorePackageComposition", L"Full")
            TEST_CLASS_PROPERTY(L"Kits.CorePackageComposition", L"OnecoreUAP")
            TEST_CLASS_PROPERTY(L"Kits.DevelopmentPhase", L"Development and Integration")
            TEST_CLASS_PROPERTY(L"Kits.IsInProc", L"True")
            TEST_CLASS_PROPERTY(L"Kits.MinRelease", L"19H1")
            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.Parameter", L"DriverVerifierCustomizeConfiguration")
            TEST_CLASS_PROPERTY(L"Kits.Parameter.DriverVerifierCustomizeConfiguration.Description", L"Specifies that this test may want to automatically update Driver Verifier settings")
            TEST_CLASS_PROPERTY(L"Kits.Parameter.DriverVerifierCustomizeConfiguration.Default", L"True")
            TEST_CLASS_PROPERTY(L"Kits.Parameter.DriverVerifierCustomizeConfiguration.IsUserSettable", L"False")
            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.PublishingOrganization", L"Microsoft Corporation")
            TEST_CLASS_PROPERTY(L"Kits.TestType", L"Development")
            TEST_CLASS_PROPERTY(L"Subfeature", L"Wave Driver Tests")
            TEST_CLASS_PROPERTY(L"ThreadingModel", L"MTA")







        END_TEST_CLASS()

            TEST_CLASS_SETUP(KsPosTestSetup)
            TEST_CLASS_CLEANUP(KsPosTestCleanUp)

            TEST_METHOD_SETUP(TestCaseSetup)
            TEST_METHOD_CLEANUP(TestCaseCleanUp)

            BEGIN_TEST_METHOD(TAEF_DriftAndJitter)
                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 = '*LOOPBACK*'")
            END_TEST_METHOD()

            BEGIN_TEST_METHOD(TAEF_Latency)
                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 = '*LOOPBACK*'")
            END_TEST_METHOD()
                      
    public:
        CHalfApp*           m_pHalf;
        CHalfApp*           m_pHostHalf;        // HalfApp corresponding to the host pin of a loopback pin, if any
        PTIMER_MECHANISM    m_pTimer;
        BOOL                m_fLogHistograms;
        LONGLONG            m_qpcFrequency;     // QPC frequency.
        LONGLONG            m_testBaseHns;      // Base time, in HNS, used inside the tests to make QPC times smaller.
        CRtThreadRegistration m_threadPriority;
    };
}

extern WDMAudio::KsPosTest* g_pKsPosTst;