1
1
import os
2
2
3
+ class bcolors :
4
+ HEADER = '\033 [95m'
5
+ OKBLUE = '\033 [94m'
6
+ OKCYAN = '\033 [96m'
7
+ OKGREEN = '\033 [92m'
8
+ WARNING = '\033 [93m'
9
+ FAIL = '\033 [91m'
10
+ ENDC = '\033 [0m'
11
+ BOLD = '\033 [1m'
12
+ UNDERLINE = '\033 [4m'
13
+
3
14
print ("os.error:" , os .error ) # prints <class 'OSError'>
4
- print ()
5
15
print ("$HOME:" , os .environ .get ("HOME" )) # prints $HOME variable
6
- print ()
7
16
print ("cwd():" , os .getcwd ()) # prints current working directory
8
- print ()
9
17
print ("chdir(os.environ.get(\" HOME\" ))):" , os .chdir (os .environ .get ("HOME" ))) # changes the current working directory to $HOME
10
- print ()
11
18
print ("cwd() after chdir():" , os .getcwd ()) # should print $HOME dir
12
- print ()
13
19
print ("getenv(\" HOME\" ):" , os .getenv ("HOME" )) # should print $HOME dir
14
- print ()
15
20
print ("getpid():" , os .getpid ()) # prints the process id
16
- print ()
17
21
print ('putenv("TEST_VAR", "TEST_VALUE"):' , os .putenv ("TEST_VAR" , "TEST_VALUE" )) # creates a new enviroment variable
18
- print ()
19
22
print ('getenv("TEST_VAR"):' , os .getenv ("TEST_VAR" )) # get TEST_VAR value
20
- print ()
21
23
print ('unsetenv("TEST_VAR"):' , os .unsetenv ("TEST_VAR" )) # unset TEST_VAR
24
+ print ('getenv("TEST_VAR"):' ,os .getenv ("TEST_VAR" )) # get TEST_VAR after it has been deleted
25
+ print ()
26
+ print ("--------------" )
27
+ print ()
28
+
29
+ # tests
30
+ passed_tests = 0
31
+ failed = 0
32
+
33
+ def _pass (test_name ):
34
+ print (bcolors .OKGREEN + test_name + " passed!" )
35
+
36
+ def _fail (test_name ):
37
+ print (bcolors .FAIL + test_name + " failed!" )
38
+
39
+ if os .error == OSError :
40
+ _pass ("os.error == OSError" )
41
+ passed_tests = passed_tests + 1
42
+ else :
43
+ _fail ("os.error == OSError" )
44
+ failed = failed + 1
45
+
46
+ if os .environ .get ("HOME" ) != None :
47
+ _pass ('os.environ.get("HOME") != None' )
48
+ passed_tests += 1
49
+ else :
50
+ _fail ('os.environ.get("HOME") != None' )
51
+ failed += 1
52
+
53
+ if os .getcwd () != None :
54
+ _pass ('os.getcwd() != None' )
55
+ passed_tests += 1
56
+ else :
57
+ _fail ('os.getcwd() != None' )
58
+ failed += 1
59
+
60
+ if os .chdir (os .environ .get ("HOME" )) == None :
61
+ _pass ('os.chdir(os.environ.get("HOME")) == None' )
62
+ passed_tests += 1
63
+ else :
64
+ _fail ('os.chdir(os.environ.get("HOME")) == None' )
65
+ failed += 1
66
+
67
+ if os .getcwd () == os .environ .get ("HOME" ):
68
+ _pass ('os.getcwd() == os.environ.get("HOME")' )
69
+ passed_tests += 1
70
+ else :
71
+ _fail ('os.getcwd() == os.environ.get("HOME")' )
72
+ failed += 1
73
+
74
+ if os .getpid ()> 1 :
75
+ _pass ('os.getpid() > 1' )
76
+ passed_tests += 1
77
+ else :
78
+ _fail ('os.getpid() > 1' )
79
+ failed += 1
80
+
81
+ if os .putenv ("TEST_VAR" , "TEST_VALUE" ) == None :
82
+ _pass ('os.putenv("TEST_VAR", "TEST_VALUE") == None' )
83
+ passed_tests += 1
84
+ else :
85
+ _fail ('os.putenv("TEST_VAR", "TEST_VALUE") == None' )
86
+ failed += 1
87
+
88
+ if os .getenv ("TEST_VAR" ) == "TEST_VALUE" :
89
+ _pass ('os.getenv("TEST_VAR") == "TEST_VALUE"' )
90
+ passed_tests += 1
91
+ else :
92
+ _fail ('os.getenv("TEST_VAR") == "TEST_VALUE"' )
93
+ failed += 1
94
+
95
+ if os .unsetenv ("TEST_VAR" ) == None :
96
+ _pass ('os.unsetenv("TEST_VAR") == None' )
97
+ passed_tests += 1
98
+ else :
99
+ _fail ('os.unsetenv("TEST_VAR") == None' )
100
+ failed += 1
101
+
102
+ if os .getenv ("TEST_VAR" ) == None :
103
+ _pass ('os.getenv("TEST_VAR") == None' )
104
+ passed_tests += 1
105
+ else :
106
+ _fail ('os.getenv("TEST_VAR") == None' )
107
+ failed += 1
108
+
22
109
print ()
23
- print ('getenv("TEST_VAR"):' ,os .getenv ("TEST_VAR" )) # get TEST_VAR after it has been deleted
110
+ print (bcolors .ENDC + bcolors .BOLD + bcolors .HEADER + "----- Results -----" )
111
+ print (bcolors .OKGREEN + bcolors .BOLD , "PASSED: " + str (passed_tests )+ " out of " + str (passed_tests + failed ))
112
+ print (bcolors .FAIL + bcolors .BOLD , "FAILED: " + str (failed )+ " out of " + str (passed_tests + failed ))
0 commit comments