aboutsummaryrefslogtreecommitdiff
path: root/src/burn/test/BurnUnitTest/BurnTestFixture.h
blob: 35acba6771034acfc4a219871ccb62fe46a1a2ba (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
#pragma once
// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.


namespace Microsoft
{
namespace Tools
{
namespace WindowsInstallerXml
{
namespace Test
{
namespace Bootstrapper
{
    using namespace System;
    using namespace WixInternal::TestSupport;

    public ref class BurnTestFixture : IDisposable
    {
    public:
        BurnTestFixture()
        {
            HRESULT hr = XmlInitialize();
            TestThrowOnFailure(hr, L"Failed to initialize XML support.");

            hr = RegInitialize();
            TestThrowOnFailure(hr, L"Failed to initialize Regutil.");

            hr = CrypInitialize();
            TestThrowOnFailure(hr, L"Failed to initialize Cryputil.");

            PlatformInitialize();

            this->testDirectory = WixInternal::TestSupport::TestData::Get();

            LogInitialize(::GetModuleHandleW(L"BurnUnitTest.dll"));

            LogSetLevel(REPORT_DEBUG, FALSE);

            hr = LogOpen(NULL, L"BurnUnitTest", NULL, L"txt", FALSE, FALSE, NULL);
            TestThrowOnFailure(hr, L"Failed to open log.");
        }

        ~BurnTestFixture()
        {
            CrypUninitialize();
            XmlUninitialize();
            RegUninitialize();
            LogUninitialize(FALSE);
        }

        property String^ DataDirectory
        {
            String^ get()
            {
                return this->testDirectory;
            }
        }

        property String^ TestDirectory
        {
            String^ get()
            {
                return this->testDirectory;
            }
        }

    private:
        String^ testDirectory;
    };
}
}
}
}
}