Skip to content

Appveyor ctypes test failures #40

@njwilson23

Description

@njwilson23

Tests that use ctypes to test functions implemented in C are failing on Appveyor:

python tests\runtests.py
..........EEE...............................................................................................................................................................E.................................sssss.ss.ss............................................................................................................................................................
======================================================================
ERROR: test_bbox_intersection_area (rtree_tests.CRTreeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\projects\karta\tests\rtree_tests.py", line 54, in test_bbox_intersection_area
    self.rt.bbox_intersection_area.restype = c_float
  File "C:\Miniconda3\envs\test-environment\lib\ctypes\__init__.py", line 360, in __getattr__
    func = self.__getitem__(name)
  File "C:\Miniconda3\envs\test-environment\lib\ctypes\__init__.py", line 365, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: function 'bbox_intersection_area' not found
======================================================================
ERROR: test_is_overlapping (rtree_tests.CRTreeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\projects\karta\tests\rtree_tests.py", line 39, in test_is_overlapping
    self.rt.is_overlapping.restype = c_int
  File "C:\Miniconda3\envs\test-environment\lib\ctypes\__init__.py", line 360, in __getattr__
    func = self.__getitem__(name)
  File "C:\Miniconda3\envs\test-environment\lib\ctypes\__init__.py", line 365, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: function 'is_overlapping' not found
======================================================================
ERROR: test_is_within (rtree_tests.CRTreeTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\projects\karta\tests\rtree_tests.py", line 24, in test_is_within
    self.rt.is_within.restype = c_int
  File "C:\Miniconda3\envs\test-environment\lib\ctypes\__init__.py", line 360, in __getattr__
    func = self.__getitem__(name)
  File "C:\Miniconda3\envs\test-environment\lib\ctypes\__init__.py", line 365, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: function 'is_within' not found
======================================================================
ERROR: test_iswithin (quadtree_tests.TestCQuadTree)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\projects\karta\tests\quadtree_tests.py", line 25, in test_iswithin
    self.qt.iswithin.restype = c_bool
  File "C:\Miniconda3\envs\test-environment\lib\ctypes\__init__.py", line 360, in __getattr__
    func = self.__getitem__(name)
  File "C:\Miniconda3\envs\test-environment\lib\ctypes\__init__.py", line 365, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: function 'iswithin' not found
----------------------------------------------------------------------
Ran 373 tests in 4.453s
FAILED (errors=4, skipped=9)

The Python tests using the C functions as an extension module are passing, so this is probably a problem with how the tests are set up, rather than with the build.

Since I don't use a Windows machine, this is a little tricky to work on.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions