12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file.
42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chromeos/chromeos_test_utils.h"
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/files/file_path.h"
81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "base/files/file_util.h"
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/path_service.h"
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace chromeos {
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace test_utils {
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)bool GetTestDataPath(const std::string& component,
152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     const std::string& filename,
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     base::FilePath* data_dir) {
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  base::FilePath path;
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  if (!PathService::Get(base::DIR_SOURCE_ROOT, &path))
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    return false;
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  path = path.Append(FILE_PATH_LITERAL("chromeos"));
212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  path = path.Append(FILE_PATH_LITERAL("test"));
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  path = path.Append(FILE_PATH_LITERAL("data"));
237dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  if (!base::PathExists(path))  // We don't want to create this.
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    return false;
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  DCHECK(data_dir);
262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  path = path.Append(component);
272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  *data_dir = path.Append(filename);
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  return true;
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}
302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}  // namespace test_utils
322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}  // namespace chromeos
33