Add Vulkan validation layers on Windows

Deploy self-built Vulkan validation layers instead of system installed
one. And it will reuse third_party/angle's Vulkan validation layers if
building with chromium.

Bug: dawn:150
Change-Id: I94e26f7a152fb2a1c39bcb102d60024f4d65eee6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/11120
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
This commit is contained in:
Li, Hao
2019-11-07 12:13:27 +00:00
committed by Commit Bot service account
parent 64cfaeac4c
commit 0e1bef3251
11 changed files with 264 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
// Copyright 2019 The Dawn Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include <gtest/gtest.h>
#include "common/SystemUtils.h"
// Tests for GetEnvironmentVar
TEST(SystemUtilsTests, GetEnvironmentVar) {
// Test nonexistent environment variable
ASSERT_EQ(GetEnvironmentVar("NonexistentEnvironmentVar"), "");
}
// Tests for SetEnvironmentVar
TEST(SystemUtilsTests, SetEnvironmentVar) {
// Test new environment variable
ASSERT_TRUE(SetEnvironmentVar("EnvironmentVarForTest", "NewEnvironmentVarValue"));
ASSERT_EQ(GetEnvironmentVar("EnvironmentVarForTest"), "NewEnvironmentVarValue");
// Test override environment variable
ASSERT_TRUE(SetEnvironmentVar("EnvironmentVarForTest", "OverrideEnvironmentVarValue"));
ASSERT_EQ(GetEnvironmentVar("EnvironmentVarForTest"), "OverrideEnvironmentVarValue");
}
// Tests for GetExecutableDirectory
TEST(SystemUtilsTests, GetExecutableDirectory) {
// Test returned value is non-empty string
ASSERT_NE(GetExecutableDirectory(), "");
// Test last charecter in path
ASSERT_EQ(GetExecutableDirectory().back(), *GetPathSeparator());
}