1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "base/test/scoped_path_override.h" 6 7#include "base/logging.h" 8#include "base/path_service.h" 9 10namespace base { 11 12ScopedPathOverride::ScopedPathOverride(int key) : key_(key) { 13 bool result = temp_dir_.CreateUniqueTempDir(); 14 CHECK(result); 15 result = PathService::Override(key, temp_dir_.path()); 16 CHECK(result); 17} 18 19ScopedPathOverride::ScopedPathOverride(int key, const base::FilePath& dir) 20 : key_(key) { 21 bool result = PathService::Override(key, dir); 22 CHECK(result); 23} 24 25ScopedPathOverride::~ScopedPathOverride() { 26 bool result = PathService::RemoveOverride(key_); 27 CHECK(result) << "The override seems to have been removed already!"; 28} 29 30} // namespace base 31