## Summary of the Pull Request #4354 is a pretty complicated PR. It's got a bunch of conpty changes, but what it also has was some critical improvements to the roundtrip test suite. I'm working on some other bugfixes in the same area currently, and need these tests enhancements in those branches _now_. The rest of #4354 is complex enough that I don't trust it will get merged soon (if ever). However, these fixes _should_ be in regardless. ## PR Checklist * [x] Taken directly from #4354 * [x] I work here * [x] Tests added/passed * [n/a] Requires documentation to be updated ## Detailed Description of the Pull Request / Additional comments This is four main changes: * Enable conpty to be fully enabled in unittests. Just setting up a VT renderer isn't enough to trick the host into being in conpty mode - it also needs to have some other flags set. * Some minor changes to `CommonState` to better configure the common test state for conpty * Move some of the verify helpers from `ConptyRoundtripTests` into their own helper class, to be shared in multiple tests * Add a `TerminalBufferTests` class, for testing the Terminal buffer directly (without conpty). This change is really easier than ![image](https://user-images.githubusercontent.com/18356694/73278427-2d1b4480-41b1-11ea-9bbe-70671c557f49.png) would suggest, I promise.
79 lines
1.7 KiB
C++
79 lines
1.7 KiB
C++
/*++
|
|
Copyright (c) Microsoft Corporation
|
|
Licensed under the MIT license.
|
|
|
|
Module Name:
|
|
- globals.h
|
|
|
|
Abstract:
|
|
- This module contains the global variables used by the console server DLL.
|
|
|
|
Author:
|
|
- Jerry Shea (jerrysh) 21-Sep-1993
|
|
|
|
Revision History:
|
|
- Modified to reduce globals over Console V2 project (MiNiksa/PaulCam, 2014)
|
|
--*/
|
|
|
|
#pragma once
|
|
|
|
#include "selection.hpp"
|
|
#include "server.h"
|
|
#include "ConsoleArguments.hpp"
|
|
#include "ApiRoutines.h"
|
|
|
|
#include "..\renderer\inc\IRenderData.hpp"
|
|
#include "..\renderer\inc\IRenderEngine.hpp"
|
|
#include "..\renderer\inc\IRenderer.hpp"
|
|
#include "..\renderer\inc\IFontDefaultList.hpp"
|
|
|
|
#include "..\server\DeviceComm.h"
|
|
|
|
#include <TraceLoggingProvider.h>
|
|
#include <winmeta.h>
|
|
TRACELOGGING_DECLARE_PROVIDER(g_hConhostV2EventTraceProvider);
|
|
|
|
class Globals
|
|
{
|
|
public:
|
|
UINT uiOEMCP = GetOEMCP();
|
|
UINT uiWindowsCP = GetACP();
|
|
HINSTANCE hInstance;
|
|
UINT uiDialogBoxCount;
|
|
|
|
ConsoleArguments launchArgs;
|
|
|
|
CONSOLE_INFORMATION& getConsoleInformation();
|
|
|
|
DeviceComm* pDeviceComm;
|
|
|
|
wil::unique_event_nothrow hInputEvent;
|
|
|
|
SHORT sVerticalScrollSize;
|
|
SHORT sHorizontalScrollSize;
|
|
|
|
int dpi = USER_DEFAULT_SCREEN_DPI;
|
|
ULONG cursorPixelWidth = 1;
|
|
|
|
NTSTATUS ntstatusConsoleInputInitStatus;
|
|
wil::unique_event_nothrow hConsoleInputInitEvent;
|
|
DWORD dwInputThreadId;
|
|
|
|
std::vector<wchar_t> WordDelimiters;
|
|
|
|
Microsoft::Console::Render::IRenderer* pRender;
|
|
|
|
Microsoft::Console::Render::IFontDefaultList* pFontDefaultList;
|
|
|
|
bool IsHeadless() const;
|
|
|
|
ApiRoutines api;
|
|
|
|
#ifdef UNIT_TESTING
|
|
void EnableConptyModeForTests();
|
|
#endif
|
|
|
|
private:
|
|
CONSOLE_INFORMATION ciConsoleInformation;
|
|
};
|