@@ -38,31 +38,32 @@ class EmptyPlatformDatabaseTests(unittest.TestCase):
38
38
"""
39
39
40
40
def setUp (self ):
41
- self .base_db = tempfile .NamedTemporaryFile (prefix = 'base' )
41
+ self .base_db_path = os .path .join (tempfile .mkdtemp (), 'base' )
42
+ self .base_db = open (self .base_db_path , 'w+b' )
42
43
self .base_db .write (b'{}' )
43
44
self .base_db .seek (0 )
44
- self .pdb = PlatformDatabase ([self .base_db . name ])
45
+ self .pdb = PlatformDatabase ([self .base_db_path ])
45
46
46
47
def tearDown (self ):
47
- pass
48
+ self . base_db . close ()
48
49
49
50
def test_broken_database_io (self ):
50
51
"""Verify that the platform database still works without a
51
52
working backing file
52
53
"""
53
54
with patch ("mbed_lstools.platform_database.open" ) as _open :
54
55
_open .side_effect = IOError ("Bogus" )
55
- self .pdb = PlatformDatabase ([self .base_db . name ])
56
+ self .pdb = PlatformDatabase ([self .base_db_path ])
56
57
self .pdb .add ("1234" , "MYTARGET" )
57
58
self .assertEqual (self .pdb .get ("1234" ), "MYTARGET" )
58
59
59
60
def test_broken_database_bad_json (self ):
60
61
"""Verify that the platform database still works without a
61
62
working backing file
62
63
"""
63
- self .base_db .write (b'{{ }' )
64
+ self .base_db .write (b'{}' )
64
65
self .base_db .seek (0 )
65
- self .pdb = PlatformDatabase ([self .base_db . name ])
66
+ self .pdb = PlatformDatabase ([self .base_db_path ])
66
67
self .pdb .add ("1234" , "MYTARGET" )
67
68
self .assertEqual (self .pdb .get ("1234" ), "MYTARGET" )
68
69
@@ -119,20 +120,24 @@ class OverriddenPlatformDatabaseTests(unittest.TestCase):
119
120
"""
120
121
121
122
def setUp (self ):
122
- self .base_db = tempfile .NamedTemporaryFile (prefix = 'base' )
123
+ self .temp_dir = tempfile .mkdtemp ()
124
+ self .base_db_path = os .path .join (self .temp_dir , 'base' )
125
+ self .base_db = open (self .base_db_path , 'w+b' )
123
126
self .base_db .write (json .dumps (dict ([('0123' , 'Base_Platform' )])).
124
127
encode ('utf-8' ))
125
128
self .base_db .seek (0 )
126
- self .overriding_db = tempfile .NamedTemporaryFile (prefix = 'overriding' )
129
+ self .overriding_db_path = os .path .join (self .temp_dir , 'overriding' )
130
+ self .overriding_db = open (self .overriding_db_path , 'w+b' )
127
131
self .overriding_db .write (b'{}' )
128
132
self .overriding_db .seek (0 )
129
- self .pdb = PlatformDatabase ([self .overriding_db . name , self .base_db . name ],
130
- primary_database = self .overriding_db . name )
133
+ self .pdb = PlatformDatabase ([self .overriding_db_path , self .base_db_path ],
134
+ primary_database = self .overriding_db_path )
131
135
self .base_db .seek (0 )
132
136
self .overriding_db .seek (0 )
133
137
134
138
def tearDown (self ):
135
- pass
139
+ self .base_db .close ()
140
+ self .overriding_db .close ()
136
141
137
142
def assertBaseUnchanged (self ):
138
143
"""Assert that the base database has not changed
@@ -170,8 +175,8 @@ def test_load_override(self):
170
175
self .overriding_db .write (json .dumps (dict ([('0123' , 'Overriding_Platform' )])).
171
176
encode ('utf-8' ))
172
177
self .overriding_db .seek (0 )
173
- self .pdb = PlatformDatabase ([self .overriding_db . name , self .base_db . name ],
174
- primary_database = self .overriding_db . name )
178
+ self .pdb = PlatformDatabase ([self .overriding_db_path , self .base_db_path ],
179
+ primary_database = self .overriding_db_path )
175
180
self .assertIn (('0123' , 'Overriding_Platform' ), list (self .pdb .items ()))
176
181
self .assertEqual (set (self .pdb .all_ids ()), set (['0123' ]))
177
182
self .assertEqual (self .pdb .get ('0123' ), 'Overriding_Platform' )
@@ -231,14 +236,16 @@ def setUp(self):
231
236
self .mocked_lock = patch ('mbed_lstools.platform_database.InterProcessLock' , spec = True ).start ()
232
237
self .acquire = self .mocked_lock .return_value .acquire
233
238
self .release = self .mocked_lock .return_value .release
234
- self .base_db = tempfile .NamedTemporaryFile (prefix = 'base' )
239
+
240
+ self .base_db_path = os .path .join (tempfile .mkdtemp (), 'base' )
241
+ self .base_db = open (self .base_db_path , 'w+b' )
235
242
self .base_db .write (b'{}' )
236
243
self .base_db .seek (0 )
237
- self .pdb = PlatformDatabase ([self .base_db . name ])
244
+ self .pdb = PlatformDatabase ([self .base_db_path ])
238
245
self .addCleanup (patch .stopall )
239
246
240
247
def tearDown (self ):
241
- pass
248
+ self . base_db . close ()
242
249
243
250
def test_no_update (self ):
244
251
"""Test that no locks are used when no modifications are specified
0 commit comments