Skip to content

Commit 3aa8e28

Browse files
author
tobyroseman
committed
Close file handles before deleting
1 parent 4df4076 commit 3aa8e28

2 files changed

Lines changed: 39 additions & 40 deletions

File tree

oss_local_scripts/make_egg.sh

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -299,5 +299,3 @@ package_egg
299299
if [[ -z $SKIP_DOC ]]; then
300300
generate_docs
301301
fi
302-
303-

oss_src/unity/python/sframe/test/test_gl_pickler.py

Lines changed: 39 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,17 @@ def tearDown(self):
2727
elif os.path.exists(self.filename):
2828
os.remove(self.filename)
2929

30+
def _dump(self, obj):
31+
pickler = gl_pickle.GLPickler(self.filename)
32+
pickler.dump(obj)
33+
pickler.close()
34+
35+
def _load(self):
36+
unpickler = gl_pickle.GLUnpickler(self.filename)
37+
obj_ret = unpickler.load()
38+
unpickler.close()
39+
return obj_ret
40+
3041
def test_pickling_simple_types(self):
3142

3243
obj_list = [
@@ -36,10 +47,8 @@ def test_pickling_simple_types(self):
3647
{"cricket": "best-sport", "test": [1,2,3]}, {"foo": 1.3},
3748
]
3849
for obj in obj_list:
39-
pickler = gl_pickle.GLPickler(self.filename)
40-
pickler.dump(obj)
41-
pickler.close()
42-
obj_ret = gl_pickle.GLUnpickler(self.filename).load()
50+
self._dump(obj)
51+
obj_ret = self._load()
4352
self.assertEqual(obj, obj_ret)
4453

4554
def test_pickling_sarray_types(self):
@@ -50,10 +59,8 @@ def test_pickling_sarray_types(self):
5059
SArray(["foo", "bar"]),
5160
]
5261
for obj in sarray_list:
53-
pickler = gl_pickle.GLPickler(self.filename)
54-
pickler.dump(obj)
55-
pickler.close()
56-
obj_ret = gl_pickle.GLUnpickler(self.filename).load()
62+
pickler = self._dump(obj)
63+
obj_ret = self._load()
5764
self.assertEqual(list(obj), list(obj_ret))
5865

5966
def test_pickling_sframe_types(self):
@@ -64,10 +71,8 @@ def test_pickling_sframe_types(self):
6471
SFrame(["foo", "bar"]),
6572
]
6673
for obj in sarray_list:
67-
pickler = gl_pickle.GLPickler(self.filename)
68-
pickler.dump(obj)
69-
pickler.close()
70-
obj_ret = gl_pickle.GLUnpickler(self.filename).load()
74+
self._dump(obj)
75+
obj_ret = self._load()
7176
assert_sframe_equal(obj, obj_ret)
7277

7378
def test_pickling_sgraph_types(self):
@@ -90,10 +95,8 @@ def test_pickling_sgraph_types(self):
9095
sg_test_2
9196
]
9297
for obj in sarray_list:
93-
pickler = gl_pickle.GLPickler(self.filename)
94-
pickler.dump(obj)
95-
pickler.close()
96-
obj_ret = gl_pickle.GLUnpickler(self.filename).load()
98+
self._dump(obj)
99+
obj_ret = self._load()
97100
assert_sframe_equal(obj.get_vertices(), obj_ret.get_vertices())
98101
assert_sframe_equal(obj.get_edges(), obj_ret.get_edges())
99102

@@ -112,10 +115,8 @@ def test_combination_gl_python_types(self):
112115
]
113116

114117
for obj in obj_list:
115-
pickler = gl_pickle.GLPickler(self.filename)
116-
pickler.dump(obj)
117-
pickler.close()
118-
obj_ret = gl_pickle.GLUnpickler(self.filename).load()
118+
self._dump(obj)
119+
obj_ret = self._load()
119120
assert_sframe_equal(obj[0].get_vertices(), obj_ret[0].get_vertices())
120121
assert_sframe_equal(obj[0].get_edges(), obj_ret[0].get_edges())
121122
assert_sframe_equal(obj[1], obj_ret[1])
@@ -129,11 +130,8 @@ def test_pickle_compatibility(self):
129130
{"cricket": "best-sport", "test": [1,2,3]}, {"foo": 1.3},
130131
]
131132
for obj in obj_list:
132-
file = open(self.filename, 'wb')
133-
pickler = pickle.Pickler(file)
134-
pickler.dump(obj)
135-
file.close()
136-
obj_ret = gl_pickle.GLUnpickler(self.filename).load()
133+
self._dump(obj)
134+
obj_ret = self._load()
137135
self.assertTrue(obj, obj_ret)
138136

139137
def test_cloud_pickle_compatibility(self):
@@ -144,11 +142,8 @@ def test_cloud_pickle_compatibility(self):
144142
{"cricket": "best-sport", "test": [1,2,3]}, {"foo": 1.3},
145143
]
146144
for obj in obj_list:
147-
file = open(self.filename, 'wb')
148-
pickler = cloudpickle.CloudPickler(file)
149-
pickler.dump(obj)
150-
file.close()
151-
obj_ret = gl_pickle.GLUnpickler(self.filename).load()
145+
self._dump(obj)
146+
obj_ret = self._load()
152147
self.assertTrue(obj, obj_ret)
153148

154149
def test_relative_path(self):
@@ -160,7 +155,9 @@ def test_relative_path(self):
160155
pickler = gl_pickle.GLPickler(relative_path)
161156
pickler.dump(sf1)
162157
pickler.close()
163-
sf2 = gl_pickle.GLUnpickler(relative_path).load()
158+
unpickler = gl_pickle.GLUnpickler(relative_path)
159+
sf2 = unpickler.load()
160+
unpickler.close()
164161

165162
# Assert
166163
assert_sframe_equal(sf1, sf2)
@@ -178,7 +175,9 @@ def test_user_path(self):
178175
pickler = gl_pickle.GLPickler(relative_path)
179176
pickler.dump(sf1)
180177
pickler.close()
181-
sf2 = gl_pickle.GLUnpickler(relative_path).load()
178+
unpickler = gl_pickle.GLUnpickler(relative_path)
179+
sf2 = unpickler.load()
180+
unpickler.close()
182181

183182
# Assert
184183
abs_path = os.path.expanduser(relative_path)
@@ -198,7 +197,9 @@ def test_env_path(self):
198197
pickler = gl_pickle.GLPickler(relative_path)
199198
pickler.dump(sf1)
200199
pickler.close()
201-
sf2 = gl_pickle.GLUnpickler(relative_path).load()
200+
unpickler = gl_pickle.GLUnpickler(relative_path)
201+
sf2 = unpickler.load()
202+
unpickler.close()
202203

203204
# Assert
204205
abs_path = os.path.expanduser(os.path.expandvars(relative_path))
@@ -224,7 +225,9 @@ def test_save_to_s3(self):
224225
pickler = gl_pickle.GLPickler(S3_PATH)
225226
pickler.dump(sf1)
226227
pickler.close()
227-
sf2 = gl_pickle.GLUnpickler(S3_PATH).load()
228+
unpickler = gl_pickle.GLUnpickler(S3_PATH)
229+
sf2 = unpickler.load()
230+
unpickler.close()
228231

229232
# Assert
230233
assert_sframe_equal(sf1, sf2)
@@ -257,11 +260,9 @@ def test_save_over_previous(self):
257260
SFrame(["foo", "bar"]),
258261
]
259262
for obj in sarray_list:
260-
pickler = gl_pickle.GLPickler(self.filename)
261-
pickler.dump(obj)
262-
pickler.close()
263+
self._dump(obj)
264+
obj_ret = self._load()
263265

264-
obj_ret = gl_pickle.GLUnpickler(self.filename).load()
265266
assert_sframe_equal(obj, obj_ret)
266267

267268
pickler = gl_pickle.GLPickler(self.filename)

0 commit comments

Comments
 (0)