test_work_area.hpp
Go to the documentation of this file.
1/*
2 Copyright (C) 2013 Equinor ASA, Norway.
3
4 The file 'test_work_area.h' is part of ERT - Ensemble based Reservoir Tool.
5
6 ERT is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 ERT is distributed in the hope that it will be useful, but WITHOUT ANY
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE.
14
15 See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
16 for more details.
17*/
18
19
20#ifndef ERT_TEST_WORK_AREA_H
21#define ERT_TEST_WORK_AREA_H
22
23#include <string>
24
25namespace ecl {
26namespace util {
27
28class TestArea {
29public:
30 TestArea(const std::string& test_name, bool store_area = false);
32 const std::string& test_cwd() const;
33 const std::string& original_cwd() const;
34
35 void copy_directory(const std::string input_directory) const;
36 void copy_directory_content(const std::string input_directory) const;
37 bool copy_parent(const std::string input_path) const;
39
40 void copy_file(const std::string& input_src_file) const;
41 std::string original_path(const std::string& input_path) const;
42
43private:
44 bool store;
45 std::string cwd;
46 std::string org_cwd;
47};
48
49
50}
51}
52
54
55#ifdef __cplusplus
56extern "C" {
57#endif
58
59#include <stdbool.h>
60
61 char * test_work_area_alloc_input_path( const test_work_area_type * work_area , const char * input_path );
62 test_work_area_type * test_work_area_alloc(const char * test_name );
63 test_work_area_type * test_work_area_alloc__(const char * test_name, bool store_area );
64 test_work_area_type * test_work_area_alloc_relative(const char * prefix , const char * test_path);
65
67 const char * test_work_area_get_cwd( const test_work_area_type * work_area );
68 const char * test_work_area_get_original_cwd( const test_work_area_type * work_area );
69 void test_work_area_install_file( const test_work_area_type * work_area , const char * input_src_file );
70 void test_work_area_copy_directory( const test_work_area_type * work_area , const char * input_directory);
71 void test_work_area_copy_directory_content( const test_work_area_type * work_area , const char * input_directory);
72 void test_work_area_copy_file( const test_work_area_type * work_area , const char * input_file);
73 bool test_work_area_copy_parent_directory( const test_work_area_type * work_area , const char * input_path);
74 bool test_work_area_copy_parent_content( const test_work_area_type * work_area , const char * input_path);
75
76#ifdef __cplusplus
77}
78#endif
79#endif
const char *const string
Definition: cJSON.h:170
Definition: test_work_area.hpp:28
void copy_directory(const std::string input_directory) const
const std::string & original_cwd() const
const std::string & test_cwd() const
bool copy_parent(const std::string input_path) const
std::string original_path(const std::string &input_path) const
TestArea(const std::string &test_name, bool store_area=false)
void copy_directory_content(const std::string input_directory) const
void copy_file(const std::string &input_src_file) const
bool copy_parent_content(const std::string original_path) const
Definition: ecl_box.hpp:26
test_work_area_type * test_work_area_alloc_relative(const char *prefix, const char *test_path)
void test_work_area_copy_file(const test_work_area_type *work_area, const char *input_file)
ecl::util::TestArea test_work_area_type
Definition: test_work_area.hpp:53
test_work_area_type * test_work_area_alloc__(const char *test_name, bool store_area)
const char * test_work_area_get_cwd(const test_work_area_type *work_area)
test_work_area_type * test_work_area_alloc(const char *test_name)
void test_work_area_copy_directory_content(const test_work_area_type *work_area, const char *input_directory)
void test_work_area_install_file(const test_work_area_type *work_area, const char *input_src_file)
void test_work_area_copy_directory(const test_work_area_type *work_area, const char *input_directory)
char * test_work_area_alloc_input_path(const test_work_area_type *work_area, const char *input_path)
void test_work_area_free(test_work_area_type *work_area)
bool test_work_area_copy_parent_content(const test_work_area_type *work_area, const char *input_path)
const char * test_work_area_get_original_cwd(const test_work_area_type *work_area)
bool test_work_area_copy_parent_directory(const test_work_area_type *work_area, const char *input_path)