--- /dev/null
+
+get_all_files() {
+ find -name "*.slvs"
+}
+
+get_files_with_surfaces() {
+ # Can't export the mesh/surfaces of a file with no 3d in it, just 2d
+ get_all_files | grep -E -v "(constraint)|(request)|(link)|(contour_area)"
+}
+
+get_files_to_thumbnail() {
+ # Can't thumbnail files with embedded images: https://github.com/solvespace/solvespace/issues/905
+ get_all_files | grep -v "image"
+}
--- /dev/null
+Tests: htmlmesh, stlmesh, surfaces, thumbnail, view, wireframe
+Depends: solvespace, find, grep
+Restrictions: allow-stderr
--- /dev/null
+#!/bin/sh
+set -e
+set -x
+. debian/tests/common
+logname=$AUTOPKGTEST_TMP/html_mesh.txt
+(
+ get_files_with_surfaces | while read fn; do
+ echo $fn
+ mkdir -p $AUTOPKGTEST_TMP/$(dirname $fn)
+ solvespace-cli export-mesh --output $AUTOPKGTEST_TMP/%_mesh.html $fn
+ done
+) 2>&1 | tee $logname
+
+# We don't care about self-intersecting errors.
+! (grep "Error" $logname | grep -v "self-intersecting")
--- /dev/null
+#!/bin/sh
+set -e
+set -x
+. debian/tests/common
+logname=$AUTOPKGTEST_TMP/stl_mesh.txt
+(
+ get_files_with_surfaces | while read fn; do
+ echo $fn
+ mkdir -p $AUTOPKGTEST_TMP/$(dirname $fn)
+ solvespace-cli export-mesh --output $AUTOPKGTEST_TMP/%_mesh.stl $fn
+ done
+) 2>&1 | tee $logname
+
+# We don't care about self-intersecting errors.
+! (grep "Error" $logname | grep -v "self-intersecting")
--- /dev/null
+#!/bin/sh
+set -e
+set -x
+. debian/tests/common
+logname=$AUTOPKGTEST_TMP/surfaces.txt
+(
+ get_files_with_surfaces | while read fn; do
+ echo $fn
+ mkdir -p $AUTOPKGTEST_TMP/$(dirname $fn)
+ solvespace-cli export-surfaces --output $AUTOPKGTEST_TMP/%_surfaces.step $fn
+ done
+) 2>&1 | tee $logname
+
+! grep "Error" $logname
--- /dev/null
+#!/bin/sh
+
+set -e
+set -x
+. debian/tests/common
+logname=$AUTOPKGTEST_TMP/thumbnail.txt
+(
+ get_files_to_thumbnail | while read fn; do
+ echo $fn
+ mkdir -p $AUTOPKGTEST_TMP/$(dirname $fn)
+ solvespace-cli thumbnail --output $AUTOPKGTEST_TMP/%_thumb.png --size 48x48 --view isometric $fn
+ done
+) 2>&1 | tee $logname
+
+# We don't care about self-intersecting errors.
+! grep "Error" $logname
--- /dev/null
+#!/bin/sh
+set -e
+set -x
+. debian/tests/common
+logname=$AUTOPKGTEST_TMP/view.txt
+(
+ get_all_files | while read fn; do
+ echo $fn
+ mkdir -p $AUTOPKGTEST_TMP/$(dirname $fn)
+ solvespace-cli export-view --output $AUTOPKGTEST_TMP/%_view.pdf --view isometric $fn
+ done
+) 2>&1 | tee $logname
+
+! grep "Error" $logname
--- /dev/null
+#!/bin/sh
+set -e
+set -x
+. debian/tests/common
+logname=$AUTOPKGTEST_TMP/wireframe.txt
+(
+ get_all_files | while read fn; do
+ echo $fn
+ mkdir -p $AUTOPKGTEST_TMP/$(dirname $fn)
+ solvespace-cli export-wireframe --output $AUTOPKGTEST_TMP/%_wireframe.dxf $fn
+ done
+) 2>&1 | tee $logname
+
+! grep "Error" $logname