Vimでソース修正後、Pikzieで(?)エラーが出力される
Sat, 17 Oct 2009
追うとかなりハマりそうな予感がするのでメモだけ。
vimでPythonのソースを編集して、保存したときに 以下のようなエラーが出力される。
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
File "/usr/lib/python2.6/atexit.py", line 24, in _run_exitfuncs
func(*targs, **kargs)
File "/usr/local/lib/python2.6/dist-packages/Pikzie-0.9.5-py2.6.egg/pikzie/tester.py", line 97, in auto_test_run
sys.exit(Tester(target_modules=['__main__']).run())
File "/usr/local/lib/python2.6/dist-packages/Pikzie-0.9.5-py2.6.egg/pikzie/tester.py", line 55, in run
test = TestLoader(**test_suite_create_options).create_test_suite(args)
File "/usr/local/lib/python2.6/dist-packages/Pikzie-0.9.5-py2.6.egg/pikzie/core.py", line 483, in create_test_suite
for test_case in self.collect_test_cases(files):
File "/usr/local/lib/python2.6/dist-packages/Pikzie-0.9.5-py2.6.egg/pikzie/core.py", line 466, in collect_test_cases
test_cases.extend(test_case_collector(self, module))
File "/usr/local/lib/python2.6/dist-packages/Pikzie-0.9.5-py2.6.egg/pikzie/module_base.py", line 50, in collect_test_case_from_module
dir(module))):
File "/usr/lib/python2.6/dist-packages/bike/bikefacade.py", line 116, in __call__
return getattr(self.brmctx,self.name)(*args)
AttributeError: 'BRMContext_impl' object has no attribute '__eq__'
vimにプラグインを色々入れているので、そのあたりも関係しているのかなあ。 再現性がほとんどなくて、思い出したように発生する。
トレースバックを見る限りだと、BicycleRepaireManのモジュールを Pikzieから呼び出しているように見えるが。。。 (BicycleRepaireManは使ってないんだけど。)
環境は、Linux、Python2.6です。
追記[2009.10.18]
修正していただけました。 素早い対応はありがたいです。
2 comments.
これで再現しませんか?
import bike import pikzie a = bike.bikefacade.BRMContext_wrapper()
dir(sys.modules["__main__"])の中でpikzieモジュール(↑だと"pikzie"という名前)よりも前に__eq__がないオブジェクト(↑だと"a"という名前)があると発生するようです。
trunkではそんなケースにも対応しておきました。
おっしゃるとおりでした。 再現しました。
素早い対応ありがとうございます。



