Merge pull request #21046 from davesrocketshop/issue_13922_2

Update module dependencies to ensure that automated testing code is considered as well as direct dependencies. Update some automated tests to eliminate unwanted dependencies.
This commit is contained in:
David Carter
2025-05-04 22:02:50 +00:00
committed by GitHub
parent 12fb3b989c
commit 24df826865
7 changed files with 448 additions and 431 deletions

View File

@@ -17,11 +17,11 @@ macro(CheckInterModuleDependencies)
endif(${dependent})
endfunction(REQUIRES_MODS)
REQUIRES_MODS(BUILD_BIM BUILD_PART BUILD_MESH BUILD_DRAFT)
REQUIRES_MODS(BUILD_DRAFT BUILD_SKETCHER)
REQUIRES_MODS(BUILD_ASSEMBLY BUILD_PART BUILD_PART_DESIGN BUILD_SPREADSHEET)
REQUIRES_MODS(BUILD_BIM BUILD_PART BUILD_MESH BUILD_MESH_PART BUILD_DRAFT)
REQUIRES_MODS(BUILD_DRAFT BUILD_SKETCHER BUILD_TECHDRAW BUILD_BIM)
REQUIRES_MODS(BUILD_DRAWING BUILD_PART BUILD_SPREADSHEET)
REQUIRES_MODS(BUILD_FEM BUILD_PART)
REQUIRES_MODS(BUILD_IDF BUILD_PART)
REQUIRES_MODS(BUILD_IMPORT BUILD_PART)
REQUIRES_MODS(BUILD_INSPECTION BUILD_MESH BUILD_POINTS BUILD_PART)
REQUIRES_MODS(BUILD_JTREADER BUILD_MESH)
@@ -29,6 +29,7 @@ macro(CheckInterModuleDependencies)
REQUIRES_MODS(BUILD_FLAT_MESH BUILD_MESH_PART)
REQUIRES_MODS(BUILD_OPENSCAD BUILD_MESH_PART BUILD_DRAFT)
REQUIRES_MODS(BUILD_MATERIAL_EXTERNAL BUILD_MATERIAL)
REQUIRES_MODS(BUILD_MEASURE BUILD_PART)
REQUIRES_MODS(BUILD_PART BUILD_MATERIAL)
REQUIRES_MODS(BUILD_PART_DESIGN BUILD_SKETCHER)
# REQUIRES_MODS(BUILD_CAM BUILD_PART BUILD_MESH BUILD_ROBOT)
@@ -38,5 +39,6 @@ macro(CheckInterModuleDependencies)
REQUIRES_MODS(BUILD_SANDBOX BUILD_PART BUILD_MESH)
REQUIRES_MODS(BUILD_SKETCHER BUILD_PART)
REQUIRES_MODS(BUILD_SPREADSHEET BUILD_DRAFT)
REQUIRES_MODS(BUILD_SURFACE BUILD_PART)
REQUIRES_MODS(BUILD_TECHDRAW BUILD_PART BUILD_PART_DESIGN BUILD_SPREADSHEET BUILD_MEASURE BUILD_IMPORT)
endmacro(CheckInterModuleDependencies)

View File

@@ -36,6 +36,7 @@ class DocumentTestCases(unittest.TestCase):
def testApplyDiffuseColorCheckShapeAppearance(self):
""" Test that applying a DiffuseColor with transparency results in a correct ShapeAppearance """
if "BUILD_PART" in FreeCAD.__cmake__:
dif_col_1 = (1.0, 1.0, 0.0, 1.0) # yellow 0% transparent
dif_col_2 = (1.0, 0.0, 0.0, 0.5) # red 50% transparent
dif_col = [dif_col_1] + [dif_col_2] + 4 * [dif_col_1]
@@ -51,6 +52,7 @@ class DocumentTestCases(unittest.TestCase):
def testApplyShapeAppearanceCheckDiffuseColor(self):
""" Test that applying a ShapeAppearance with transparency results in a correct DiffuseColor """
if "BUILD_PART" in FreeCAD.__cmake__:
sapp_1 = FreeCAD.Material()
sapp_1.DiffuseColor = (0.0, 1.0, 1.0, 0.0) # cyan
sapp_1.Transparency = 0.0 # 0% transparent

View File

@@ -124,6 +124,7 @@ class PartTestBSplineCurve(unittest.TestCase):
self.spline.setPole(1, App.Vector([1, 0, 0])) # first parameter 0 gives occ error
def testIssue2671(self):
if "BUILD_SPREADSHEET" in FreeCAD.__cmake__:
self.Doc = App.newDocument("Issue2671")
Box = self.Doc.addObject("Part::Box","Box")
Mirroring = self.Doc.addObject("Part::Mirroring", 'Mirroring')
@@ -147,6 +148,7 @@ class PartTestBSplineCurve(unittest.TestCase):
App.closeDocument("Issue2671")
def testIssue2876(self):
if "BUILD_SPREADSHEET" in FreeCAD.__cmake__:
self.Doc = App.newDocument("Issue2876")
Cylinder = self.Doc.addObject("Part::Cylinder", "Cylinder")
Cylinder.Radius = 5
@@ -527,6 +529,7 @@ class PartTestRuledSurface(unittest.TestCase):
self.assertEqual(len(same32), 3)
def testRuledSurfaceFromOneObject(self):
if "BUILD_SKETCHER" in FreeCAD.__cmake__:
sketch = self.Doc.addObject('Sketcher::SketchObject', 'Sketch')
sketch.Placement = FreeCAD.Placement(FreeCAD.Vector(0.000000, 0.000000, 0.000000), App.Rotation(0.707107, 0.000000, 0.000000, 0.707107))
sketch.MapMode = "Deactivated"

View File

@@ -1,5 +1,7 @@
import FreeCAD
from FreeCAD import Vector, Base, newDocument, closeDocument
import Part
if "BUILD_SKETCHER" in FreeCAD.__cmake__:
import Sketcher
import unittest
@@ -34,6 +36,7 @@ class RegressionTests(unittest.TestCase):
The following test is a simplified version of the issue, but the outcome is the same
"""
if "BUILD_SKETCHER" in FreeCAD.__cmake__:
# Arrange
ArcSketch = self.Doc.addObject("Sketcher::SketchObject", "ArcSketch")
ArcSketch.Placement = Base.Placement(

View File

@@ -131,6 +131,7 @@ class TestSketchValidateCoincidents(unittest.TestCase):
def testExternalGeoDeletion(self):
"""Make sure that we don't remove External Geometry references to deleted geometry.
See https://github.com/FreeCAD/FreeCAD/issues/16361"""
if "BUILD_PARTDESIGN" in FreeCAD.__cmake__:
doc = App.ActiveDocument
doc.addObject("PartDesign::Body", "Body")
doc.Body.Label = "Body"
@@ -142,7 +143,8 @@ class TestSketchValidateCoincidents(unittest.TestCase):
geoList = []
geoList.append(
Part.LineSegment(
App.Vector(7.548310, 5.193216, 0.000000), App.Vector(31.461353, 5.193216, 0.000000)
App.Vector(7.548310, 5.193216, 0.000000),
App.Vector(31.461353, 5.193216, 0.000000),
)
)
geoList.append(
@@ -159,7 +161,8 @@ class TestSketchValidateCoincidents(unittest.TestCase):
)
geoList.append(
Part.LineSegment(
App.Vector(7.548310, 20.652151, 0.000000), App.Vector(7.548310, 5.193216, 0.000000)
App.Vector(7.548310, 20.652151, 0.000000),
App.Vector(7.548310, 5.193216, 0.000000),
)
)
doc.Sketch.addGeometry(geoList, False)

View File

@@ -481,6 +481,7 @@ class TestSketcherSolver(unittest.TestCase):
)
def testRemovedExternalGeometryReference(self):
if "BUILD_PARTDESIGN" in FreeCAD.__cmake__:
body = self.Doc.addObject("PartDesign::Body", "Body")
sketch = body.newObject("Sketcher::SketchObject", "Sketch")
CreateRectangleSketch(sketch, (0, 0), (30, 30))
@@ -533,6 +534,7 @@ class TestSketcherSolver(unittest.TestCase):
self.assertEqual(len(sketch2.ExternalGeometry), 0)
def testSaveLoadWithExternalGeometryReference(self):
if "BUILD_PARTDESIGN" in FreeCAD.__cmake__:
# Arrange
body = self.Doc.addObject("PartDesign::Body", "Body")
sketch = self.Doc.addObject("Sketcher::SketchObject", "Sketch")
@@ -579,6 +581,7 @@ class TestSketcherSolver(unittest.TestCase):
def testTNPExternalGeometryStored(self):
# Arrange
if "BUILD_PARTDESIGN" in FreeCAD.__cmake__:
import xml.etree.ElementTree as ET
sketch = self.Doc.addObject("Sketcher::SketchObject", "Sketch")
@@ -640,6 +643,7 @@ class TestSketcherSolver(unittest.TestCase):
def testConstructionToggleTNP(self):
"""Bug 15484"""
if "BUILD_PARTDESIGN" in FreeCAD.__cmake__:
# Arrange
import xml.etree.ElementTree as ET

View File

@@ -21,7 +21,6 @@
# * *
# ***************************************************************************/
from plistlib import UID
import FreeCAD, os, unittest, tempfile
from FreeCAD import Base
import math
@@ -674,6 +673,7 @@ class DocumentBasicCases(unittest.TestCase):
class DocumentImportCases(unittest.TestCase):
def testDXFImportCPPIssue20195(self):
if "BUILD_DRAFT" in FreeCAD.__cmake__:
import importDXF
from draftutils import params