Hash :
d7e9662a
Author :
Date :
2019-03-24T13:04:43
Print SystemInfo after collection in ANGLE tests. Disabled on Android because of issues with test parsing. Bug: angleproject:2677 Change-Id: I75197e423f35bd8b84e27bb9b14d8c91779ad9c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1537696 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
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
//
// Copyright 2017 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// PrintSystemInfoTest.cpp:
// prints the information gathered about the system so that it appears in the test logs
#include <gtest/gtest.h>
#include <iostream>
#include "common/platform.h"
#include "common/system_utils.h"
#include "gpu_info_util/SystemInfo.h"
using namespace angle;
namespace
{
#if defined(ANGLE_PLATFORM_WINDOWS) || defined(ANGLE_PLATFORM_LINUX) || \
defined(ANGLE_PLATFORM_APPLE)
# define SYSTEM_INFO_IMPLEMENTED
#endif
// Prints the information gathered about the system
TEST(PrintSystemInfoTest, Print)
{
#if defined(SYSTEM_INFO_IMPLEMENTED)
SystemInfo info;
ASSERT_TRUE(GetSystemInfo(&info));
ASSERT_GT(info.gpus.size(), 0u);
PrintSystemInfo(info);
#else
std::cerr << "GetSystemInfo not implemented, skipping" << std::endl;
#endif
}
TEST(PrintSystemInfoTest, GetSystemInfoNoCrashOnInvalidDisplay)
{
#if defined(SYSTEM_INFO_IMPLEMENTED) && defined(ANGLE_USE_X11)
const char kX11DisplayEnvVar[] = "DISPLAY";
const char kInvalidDisplay[] = "124:";
std::string previous_display = GetEnvironmentVar(kX11DisplayEnvVar);
SetEnvironmentVar(kX11DisplayEnvVar, kInvalidDisplay);
SystemInfo info;
// This should not crash.
GetSystemInfo(&info);
if (previous_display.empty())
{
UnsetEnvironmentVar(kX11DisplayEnvVar);
}
else
{
SetEnvironmentVar(kX11DisplayEnvVar, previous_display.c_str());
}
#elif defined(SYSTEM_INFO_IMPLEMENTED)
std::cerr << "GetSystemInfo not implemented, skipping" << std::endl;
#else
std::cerr << "GetSystemInfo X11 test not applicable, skipping" << std::endl;
#endif
}
} // anonymous namespace