Salome HOME
Improve tests
[tools/sat.git] / test / config / create_user_pyconf.py
1 #!/usr/bin/env python
2 #-*- coding:utf-8 -*-
3 #  Copyright (C) 2010-2012  CEA/DEN
4 #
5 #  This library is free software; you can redistribute it and/or
6 #  modify it under the terms of the GNU Lesser General Public
7 #  License as published by the Free Software Foundation; either
8 #  version 2.1 of the License.
9 #
10 #  This library is distributed in the hope that it will be useful,
11 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
12 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 #  Lesser General Public License for more details.
14 #
15 #  You should have received a copy of the GNU Lesser General Public
16 #  License along with this library; if not, write to the Free Software
17 #  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
18
19 import unittest
20 import os
21 import sys
22 import shutil
23
24 # get execution path
25 testdir = os.path.dirname(os.path.realpath(__file__))
26 sys.path.append(os.path.join(testdir, '..', '..'))
27 sys.path.append(os.path.join(testdir, '..', '_testTools'))
28
29 from salomeTools import Sat
30 import HTMLTestRunner
31
32 class TestConfig(unittest.TestCase):
33     '''pyunit class : each method execute one test.
34     '''
35     
36     def test_user_dir_creation(self):
37         '''Creation of ~/.salomeTools/salomeTools.pyconf
38         '''
39         res = "KO"
40         user_dir = os.path.expanduser(os.path.join('~','.salomeTools'))
41         user_dir_save = os.path.expanduser(os.path.join('~','.salomeTools_save'))
42         if os.path.exists(user_dir_save):
43             shutil.rmtree(user_dir_save)
44         if os.path.exists(user_dir):
45             shutil.move(user_dir, user_dir_save)
46                
47         # The command to test
48         sat = Sat('')
49         sat.config('-v .')
50
51         expected_file = os.path.expanduser(os.path.join('~','.salomeTools', 'salomeTools.pyconf'))
52
53         if os.path.exists(expected_file):
54             res = "OK"
55
56         shutil.rmtree(user_dir)
57         shutil.move(user_dir_save, user_dir)
58
59         # pyunit method to compare 2 str
60         self.assertEqual(res, "OK")
61
62     def test_override_VARS(self):
63         '''override VARS
64         '''
65         OK = "KO"
66         
67         # The command to test
68         sat = Sat("-oVARS.user='user_test'")
69         sat.config()
70
71         if sat.cfg.VARS.user == 'user_test':
72             OK = "OK"
73
74         # pyunit method to compare 2 str
75         self.assertEqual(OK, "OK")
76
77     def test_override_INTERNAL(self):
78         '''override INTERNAL
79         '''
80         OK = "KO"
81         
82         # The command to test
83         sat = Sat("-oINTERNAL.sat_version='V0'")
84         sat.config()
85
86         if sat.cfg.INTERNAL.sat_version == 'V0':
87             OK = "OK"
88
89         # pyunit method to compare 2 str
90         self.assertEqual(OK, "OK")
91
92     def test_override_SITE(self):
93         '''override SITE
94         '''
95         OK = "KO"
96         
97         # The command to test
98         sat = Sat("-oSITE.prepare.default_git_server='testgit'")
99         sat.config()
100
101         if sat.cfg.SITE.prepare.default_git_server == 'testgit':
102             OK = "OK"
103
104         # pyunit method to compare 2 str
105         self.assertEqual(OK, "OK")
106
107     def test_override_APPLICATION(self):
108         '''override APPLICATION
109         '''
110         OK = "KO"
111         
112         # The command to test
113         sat = Sat("-oAPPLICATION.out_dir='/tmp'")
114         sat.config('appli-test')
115
116         if sat.cfg.APPLICATION.out_dir == '/tmp':
117             OK = "OK"
118
119         # pyunit method to compare 2 str
120         self.assertEqual(OK, "OK")
121
122     def test_override_SOFTWARE(self):
123         '''override SOFTWARE
124         '''
125         OK = "KO"
126         
127         # The command to test
128         sat = Sat("-oSOFTWARE.softA.compile_method='test'")
129         sat.config('')
130
131         if sat.cfg.SOFTWARE.softA.compile_method == 'test':
132             OK = "OK"
133
134         # pyunit method to compare 2 str
135         self.assertEqual(OK, "OK")
136
137 # test launch
138 if __name__ == '__main__':
139     HTMLTestRunner.main()