1
0
Fork 0
inkscape/share/extensions/other/gcodetools/tests/test_gcodetools.py
Daniel Baumann 02d935e272
Adding upstream version 1.4.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-22 23:40:13 +02:00

93 lines
2.9 KiB
Python

# coding=utf-8
import sys
import os
from gcodetools import Gcodetools
from inkex.tester import ComparisonMixin, InkscapeExtensionTestMixin, TestCase
from inkex.tester.filters import CompareOrderIndependentBytes
SETTINGS = (
"--id=p1",
"--max-area-curves=100",
"--area-inkscape-radius=-10",
"--area-tool-overlap=0",
"--area-fill-angle=0",
"--area-fill-shift=0",
"--area-fill-method=0",
"--area-fill-method=0",
"--area-find-artefacts-diameter=5",
"--area-find-artefacts-action=mark with an arrow",
"--biarc-tolerance=1",
"--biarc-max-split-depth=4",
"--path-to-gcode-order=subpath by subpath",
"--path-to-gcode-depth-function=d",
"--path-to-gcode-sort-paths=false",
"--Zscale=1",
"--Zoffset=0",
"--auto_select_paths=true",
"--min-arc-radius=0.05000000074505806",
"--comment-gcode-from-properties=false",
"--create-log=false",
"--add-numeric-suffix-to-filename=false",
"--Zsafe=5",
"--unit=G21 (All units in mm)",
"--postprocessor= ",
)
FILESET = SETTINGS + (
"--directory=/home",
"--filename=output.ngc",
)
class TestGcodetoolsBasic(ComparisonMixin, InkscapeExtensionTestMixin, TestCase):
stderr_protect = False
effect_class = Gcodetools
comparisons = [
FILESET + ('--active-tab="area_fill"',),
FILESET + ('--active-tab="area"',),
FILESET + ('--active-tab="area_artefacts"',),
FILESET + ('--active-tab="dxfpoints"',),
FILESET + ('--active-tab="orientation"',),
FILESET + ('--active-tab="tools_library"',),
FILESET + ('--active-tab="lathe_modify_path"',),
FILESET + ('--active-tab="offset"',),
FILESET + ('--active-tab="plasma-prepare-path"',),
]
compare_filters = [CompareOrderIndependentBytes()]
compare_file_extension = "dxf"
def test_all_comparisons(self):
"""
gcodetools tries to write to a folder and filename specified
on the command line, this needs to be handled carefully.
"""
for tab in (
('--active-tab="path-to-gcode"',),
# ('--active-tab="engraving"',),
# ('--active-tab="graffiti"',),
('--active-tab="lathe"',),
):
args = (
SETTINGS
+ tab
+ (
"--directory={}".format(self.tempdir),
"--filename=output.ngc",
)
)
outfile = os.path.join(self.tempdir, "output.ngc")
self.assertCompare(self.compare_file, None, args, "output.ngc")
class TestGcodeToolsOrientationScientific(ComparisonMixin, TestCase):
effect_class = Gcodetools
compare_file = "svg/shapes.svg"
comparisons = [
(
"--active-tab=orientation",
"--Zsurface=0.00000000000001e-5",
"--Zdepth=-9.71445146547012e-17",
"--orientation-points-count=3",
)
]