Skip to content

Commit

Permalink
Fix ability to run tests and segfaulting test
Browse files Browse the repository at this point in the history
  • Loading branch information
Moult committed May 11, 2024
1 parent 371e11d commit 8e6c372
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 8 deletions.
3 changes: 2 additions & 1 deletion src/ifcopenshell-python/ifcopenshell/api/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -350,7 +350,8 @@ def wrap_usecases(path, name):
module_name = name.split(".")[-1]
module = sys.modules[name]
for loader, usecase_name, is_pkg in pkgutil.iter_modules(path):
usecase = getattr(module, usecase_name)
# We may not be able to get the usecase if we are missing a dependency.
usecase = getattr(module, usecase_name, None)
if callable(usecase):
usecase_path = f"{module_name}.{usecase_name}"
setattr(module, usecase_name, wrap_usecase(usecase_path, usecase))
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,8 @@ def add_information(
attributes={"Identification": "A-GA-6100", "Name": "Overall Plan",
"Location": "A-GA-6100 - Overall Plan.pdf"})
"""
settings = {"parent": parent}

id_attribute = "DocumentId" if file.schema == "IFC2X3" else "Identification"
information = file.create_entity("IfcDocumentInformation", **{id_attribute: "X", "Name": "Unnamed"})
parent = settings["parent"]
if not parent and file.by_type("IfcProject"):
parent = file.by_type("IfcProject")[0]
if parent.is_a("IfcProject") or parent.is_a("IfcContext"):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,14 @@

class TestRemoveInformation(test.bootstrap.IFC4):
def test_remove_information(self):
project = self.file.createIfcProject()
self.file.createIfcProject()
element = ifcopenshell.api.run("document.add_information", self.file, parent=None)
ifcopenshell.api.run("document.remove_information", self.file, information=element)
assert len(self.file.by_type("IfcDocumentInformation")) == 0
assert len(self.file.by_type("IfcRelAssociatesDocument")) == 0

def test_removing_all_references_of_an_information(self):
project = self.file.createIfcProject()
self.file.createIfcProject()
information = ifcopenshell.api.run("document.add_information", self.file, parent=None)
ifcopenshell.api.run("document.add_reference", self.file, information=information)
ifcopenshell.api.run("document.remove_information", self.file, information=information)
Expand All @@ -51,7 +51,7 @@ def test_removing_all_references_of_an_information(self):
assert len(self.file.by_type("IfcDocumentInformationRelationship")) == 0

def test_removing_all_subdocuments_and_their_references_too(self):
project = self.file.createIfcProject()
self.file.createIfcProject()
information = ifcopenshell.api.run("document.add_information", self.file, parent=None)
information2 = ifcopenshell.api.run("document.add_information", self.file, parent=information)
ifcopenshell.api.run("document.add_reference", self.file, information=information2)
Expand All @@ -62,5 +62,5 @@ def test_removing_all_subdocuments_and_their_references_too(self):
assert len(self.file.by_type("IfcDocumentInformationRelationship")) == 0


class TestRemoveInformationIFC2X3(test.bootstrap.IFC2X3, TestRemoveInformation):
class TestRemoveInformationIFC2X3(TestRemoveInformation, test.bootstrap.IFC2X3):
pass

0 comments on commit 8e6c372

Please sign in to comment.