blob: 9d4fde8fbbdd114eaa984a29c46eb9c1a0a8d34f [file] [log] [blame]
Viet-Trung Luuc0494352015-09-17 13:31:29 -07001// Copyright 2015 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
Viet-Trung Luud892e472015-10-29 09:16:40 -07005#ifndef MOJO_EDK_SYSTEM_TEST_SCOPED_TEST_DIR_H_
6#define MOJO_EDK_SYSTEM_TEST_SCOPED_TEST_DIR_H_
Viet-Trung Luuc0494352015-09-17 13:31:29 -07007
8#include "base/files/scoped_temp_dir.h"
9#include "mojo/edk/util/scoped_file.h"
10#include "mojo/public/cpp/system/macros.h"
11
12namespace mojo {
Viet-Trung Luud892e472015-10-29 09:16:40 -070013namespace system {
Viet-Trung Luuc0494352015-09-17 13:31:29 -070014namespace test {
15
16// Creates/destroyes a temporary directory for test purposes. (Unlike
17// |base::ScopedTempDir|, this automatically creates the temporary directory.)
Viet-Trung Luu49824cb2015-11-11 12:47:10 -080018class ScopedTestDir final {
Viet-Trung Luuc0494352015-09-17 13:31:29 -070019 public:
20 ScopedTestDir();
21 ~ScopedTestDir();
22
23 util::ScopedFILE CreateFile();
24
25 private:
26 base::ScopedTempDir temp_dir_;
27
28 MOJO_DISALLOW_COPY_AND_ASSIGN(ScopedTestDir);
29};
30
31} // namespace test
Viet-Trung Luud892e472015-10-29 09:16:40 -070032} // namespace system
Viet-Trung Luuc0494352015-09-17 13:31:29 -070033} // namespace mojo
34
Viet-Trung Luud892e472015-10-29 09:16:40 -070035#endif // MOJO_EDK_SYSTEM_TEST_SCOPED_TEST_DIR_H_