Salome HOME
Updated copyright comment
[modules/hexablock.git] / src / HEXABLOCK / test_tools.cxx
1
2 // C++ : Outils communs aux tests unitaires
3
4 // Copyright (C) 2009-2024  CEA, EDF
5 //
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License, or (at your option) any later version.
10 //
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 // Lesser General Public License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 //
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22
23
24 #include "test_unit.hxx"
25
26 #include <string>
27 #include <cstdlib>
28 #include <unistd.h>
29
30 #include <sys/types.h>   // pour getpid()
31 #include <unistd.h>      // pour getpid()
32
33 //   static int nbr_vtk = 0;
34 //   static cpchar case_name = "hexa";
35 //   static Hex::Document*   docu = NULL;
36
37 static string workspace = "/tmp/test_hexablock";
38 static bool   w_default = true;
39
40 // ======================================================== call_system 
41 void call_system (const string&  command)
42 {
43    system (command.c_str());
44 }
45 // ======================================================== goto_workspace
46 void goto_workspace ()
47 {
48    string rmdir = "rm -rf ";
49    string mkdir = "mkdir -p ";
50
51    if (w_default)
52       {
53       pid_t pid = getpid ();
54       char     bufpid [8];
55       sprintf (bufpid, "_p%d", pid);
56       workspace += bufpid;
57       w_default = false;
58       }
59
60    call_system (rmdir + workspace);
61    call_system (mkdir + workspace);
62
63    chdir (workspace.c_str());
64 }
65 // ======================================================== free_workspace
66 void free_workspace ()
67 {
68    string chmod = "chmod 777 ";
69
70    call_system (chmod + workspace);
71    call_system (chmod + workspace + "/*");
72 }