pyql icon indicating copy to clipboard operation
pyql copied to clipboard

Test Failures on OS X El Capitan

Open smallnamespace opened this issue 8 years ago • 6 comments

Here are the errors I'm seeing:

======================================================================
ERROR: test_option_quotes (quantlib.test.test_notebooks.NoteBooksTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/jianliu/git_projects/lendingclub-explore/src/pyql/quantlib/test/test_notebooks.py", line 162, in test_option_quotes
    option_data_frame = pandas.core.common.load(
AttributeError: module 'pandas.core.common' has no attribute 'load'

======================================================================
ERROR: test_at (quantlib.test.test_schedule.ScheduleMethodTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/jianliu/git_projects/lendingclub-explore/src/pyql/quantlib/test/test_schedule.py", line 49, in setUp
    self.convention, self.termination_convention, self.rule
  File "quantlib/time/schedule.pyx", line 49, in quantlib.time.schedule.Schedule.__init__ (quantlib/time/schedule.cpp:1742)
    self._thisptr = new _schedule.Schedule(
RuntimeError: undecidable comparison between 4W and 1M
======================================================================
ERROR: test_dates (quantlib.test.test_schedule.ScheduleMethodTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/jianliu/git_projects/lendingclub-explore/src/pyql/quantlib/test/test_schedule.py", line 49, in setUp
    self.convention, self.termination_convention, self.rule
  File "quantlib/time/schedule.pyx", line 49, in quantlib.time.schedule.Schedule.__init__ (quantlib/time/schedule.cpp:1742)
    self._thisptr = new _schedule.Schedule(
RuntimeError: undecidable comparison between 4W and 1M

======================================================================
ERROR: test_iter_dates (quantlib.test.test_schedule.ScheduleMethodTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/jianliu/git_projects/lendingclub-explore/src/pyql/quantlib/test/test_schedule.py", line 49, in setUp
    self.convention, self.termination_convention, self.rule
  File "quantlib/time/schedule.pyx", line 49, in quantlib.time.schedule.Schedule.__init__ (quantlib/time/schedule.cpp:1742)
    self._thisptr = new _schedule.Schedule(
RuntimeError: undecidable comparison between 4W and 1M

======================================================================
ERROR: test_previous_next_reference_date (quantlib.test.test_schedule.ScheduleMethodTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/jianliu/git_projects/lendingclub-explore/src/pyql/quantlib/test/test_schedule.py", line 49, in setUp
    self.convention, self.termination_convention, self.rule
  File "quantlib/time/schedule.pyx", line 49, in quantlib.time.schedule.Schedule.__init__ (quantlib/time/schedule.cpp:1742)
    self._thisptr = new _schedule.Schedule(
RuntimeError: undecidable comparison between 4W and 1M

======================================================================
ERROR: test_size (quantlib.test.test_schedule.ScheduleMethodTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/jianliu/git_projects/lendingclub-explore/src/pyql/quantlib/test/test_schedule.py", line 49, in setUp
    self.convention, self.termination_convention, self.rule
  File "quantlib/time/schedule.pyx", line 49, in quantlib.time.schedule.Schedule.__init__ (quantlib/time/schedule.cpp:1742)
    self._thisptr = new _schedule.Schedule(
RuntimeError: undecidable comparison between 4W and 1M

----------------------------------------------------------------------

The pandas issue seems to be because pandas.core.common.load was deprecated or removed by some point (I'm running pandas=0.17).

As for quantlib, I'm using a fresh build against quantlib HEAD as of today. Everything is compiled using clang against libstdc++ on El Capitan.

I built PyQL using the following:

  1. pip install -e git+https://github.com/enthought/pyql.git#egg=pyql
  2. Edit setup.py to point to right paths -- I'm building against Boost 1.59.0 source
  3. make clean && make build && make tests

smallnamespace avatar Dec 13 '15 08:12 smallnamespace

What version of QL do you use? I suspect that is the issue with the RuntimeError.

dpinte avatar Dec 13 '15 21:12 dpinte

As for quantlib, I'm using a fresh build against quantlib HEAD as of today

Is HEAD not supported?

smallnamespace avatar Dec 14 '15 00:12 smallnamespace

@smallnamespace it seems it's not ;-) QL 1.4 without a doubt. I think that is what we use on Travis-CI. PR's are welcome to update to the latest releases. Looking at the errors, it should not be a big deal.

dpinte avatar Dec 14 '15 09:12 dpinte

@dpinte OK, thanks for clarifying. I might look into fixing the tests at some point -- right now am just getting started with using PyQL.

By the way, it might be worthwhile to update the docs, as they currently clearly state that more recent versions are supported. Noting the last well-tested dependency versions might be helpful to future users.

smallnamespace avatar Dec 14 '15 18:12 smallnamespace

@smallnamespace agreed. Will try to do it asap. There is a bit of cleanup that needs to be done on the doc, requirements, etc.

dpinte avatar Dec 14 '15 21:12 dpinte

@dpinte The errors in the schedule test seem genuine, filed with upstream at https://github.com/lballabio/QuantLib/issues/28

smallnamespace avatar Dec 21 '15 23:12 smallnamespace