1f08c3bdfSopenharmony_ci/*
2f08c3bdfSopenharmony_ci * Copyright (C) 2012 Cyril Hrubis chrubis@suse.cz
3f08c3bdfSopenharmony_ci *
4f08c3bdfSopenharmony_ci * This program is free software; you can redistribute it and/or modify it
5f08c3bdfSopenharmony_ci * under the terms of version 2 of the GNU General Public License as
6f08c3bdfSopenharmony_ci * published by the Free Software Foundation.
7f08c3bdfSopenharmony_ci *
8f08c3bdfSopenharmony_ci * This program is distributed in the hope that it would be useful, but
9f08c3bdfSopenharmony_ci * WITHOUT ANY WARRANTY; without even the implied warranty of
10f08c3bdfSopenharmony_ci * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11f08c3bdfSopenharmony_ci *
12f08c3bdfSopenharmony_ci * Further, this software is distributed without any warranty that it is
13f08c3bdfSopenharmony_ci * free of the rightful claim of any third person regarding infringement
14f08c3bdfSopenharmony_ci * or the like.  Any license provided herein, whether implied or
15f08c3bdfSopenharmony_ci * otherwise, applies only to this software file.  Patent licenses, if
16f08c3bdfSopenharmony_ci * any, provided herein do not apply to combinations of this program with
17f08c3bdfSopenharmony_ci * other software, or any other product whatsoever.
18f08c3bdfSopenharmony_ci *
19f08c3bdfSopenharmony_ci * You should have received a copy of the GNU General Public License along
20f08c3bdfSopenharmony_ci * with this program; if not, write the Free Software Foundation, Inc.,
21f08c3bdfSopenharmony_ci * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
22f08c3bdfSopenharmony_ci */
23f08c3bdfSopenharmony_ci
24f08c3bdfSopenharmony_ci /*
25f08c3bdfSopenharmony_ci
26f08c3bdfSopenharmony_ci   Small helper for preparing files the test needs to copy before the testing.
27f08c3bdfSopenharmony_ci
28f08c3bdfSopenharmony_ci   We need to support two scenarios.
29f08c3bdfSopenharmony_ci
30f08c3bdfSopenharmony_ci   1. Test is executed in local directory and this is also the place
31f08c3bdfSopenharmony_ci      we should look for files
32f08c3bdfSopenharmony_ci
33f08c3bdfSopenharmony_ci
34f08c3bdfSopenharmony_ci   2. Test is executed after LTP has been installed, in this case we
35f08c3bdfSopenharmony_ci      look for env LTPROOT (usually /opt/ltp/)
36f08c3bdfSopenharmony_ci
37f08c3bdfSopenharmony_ci  */
38f08c3bdfSopenharmony_ci
39f08c3bdfSopenharmony_ci#ifndef TST_RESOURCE
40f08c3bdfSopenharmony_ci#define TST_RESOURCE
41f08c3bdfSopenharmony_ci
42f08c3bdfSopenharmony_ciconst char *tst_dataroot(void);
43f08c3bdfSopenharmony_ci
44f08c3bdfSopenharmony_ci/*
45f08c3bdfSopenharmony_ci * Copy a file to the CWD. The destination is apended to CWD.
46f08c3bdfSopenharmony_ci */
47f08c3bdfSopenharmony_ci#define TST_RESOURCE_COPY(cleanup_fn, filename, dest) \
48f08c3bdfSopenharmony_ci	tst_resource_copy(__FILE__, __LINE__, (cleanup_fn), \
49f08c3bdfSopenharmony_ci	                  (filename), (dest))
50f08c3bdfSopenharmony_ci
51f08c3bdfSopenharmony_civoid tst_resource_copy(const char *file, const int lineno,
52f08c3bdfSopenharmony_ci                       void (*cleanup_fn)(void),
53f08c3bdfSopenharmony_ci		       const char *filename, const char *dest);
54f08c3bdfSopenharmony_ci
55f08c3bdfSopenharmony_ci#endif /* TST_RESOURCE */
56