次のコード スニペットを含む Python モジュールをテストしています。
r, w = os.pipe()
pid = os.fork()
if pid:
os.close(w) # use os.close() to close a file descriptor
r = os.fdopen(r) # turn r into a file object
# read serialized object from ``r`` and persists onto storage medium
self.ofs.put_stream(bucket, label, r, metadata)
os.waitpid(pid, 0) # make sure the child process gets cleaned up
else:
os.close(r)
w = os.fdopen(w, 'w')
# serialize object onto ``w``
pickle.dump(obj, w)
w.close()
sys.exit(0)
return result
すべてのテストに合格しましたが、 に関しては問題sys.exit(0)
があります。sys.exit(0)
実行すると が発生します。SystemExit
これは によって傍受さpy.test
れ、コンソールにエラーとして報告されます。
内部で何が行われているかは詳しくわかりませんが、py.test
先に進み、子プロセスによって発生したそのようなイベントを無視してしまうようです。最終的に、すべてのテストがパスします。これは良いことです。
しかし、コンソールにきれいな出力が欲しいです。
py.test
クリーンな出力を生成する方法はありますか?
ご参考までに:
- Debian ジェシー、カーネル 3.12.6
- パイソン 2.7.6
- pytest 2.5.2
ありがとう :)