summaryrefslogtreecommitdiff
path: root/testdata/modulecache-tests
diff options
context:
space:
mode:
Diffstat (limited to 'testdata/modulecache-tests')
-rw-r--r--testdata/modulecache-tests/README.txt61
-rwxr-xr-xtestdata/modulecache-tests/cascade.sh12
-rwxr-xr-xtestdata/modulecache-tests/cascade2.sh12
-rw-r--r--testdata/modulecache-tests/includemissing.scad2
-rw-r--r--testdata/modulecache-tests/includemissingsub.scad2
-rw-r--r--testdata/modulecache-tests/usemissing.scad2
6 files changed, 83 insertions, 8 deletions
diff --git a/testdata/modulecache-tests/README.txt b/testdata/modulecache-tests/README.txt
index 277cff8..214acc5 100644
--- a/testdata/modulecache-tests/README.txt
+++ b/testdata/modulecache-tests/README.txt
@@ -26,13 +26,6 @@ o Open use-mcad.scad
o Compile (F5)
o Check that you get a rounded box
-Test4: USE Non-existing file
-------
-
-o Open usenonexsistingfile.scad
-o Compile (F5)
-o Verify that you get: WARNING: Can't open 'use' file 'nofile.scad'.
-
Test5: Overload USEd module
------
@@ -72,10 +65,62 @@ o Compile (F5) - Verify that you get a circular disc
o Edit radius.scad: Change RADIUS
o Compile (F5) - Verify that the disc changed size
-Test9: Circular include
+Test10: Circular include
------
o Open circularincludemain.scad
o Compile (F5)
o Verify that OpenSCAD won't hang or crash
+Test11: Missing include file appears
+------
+o rm missing.scad
+o Open includemissing.scad
+o Compile (F5)
+o Verify that you get: WARNING: Can't open include file 'missing.scad'.
+o echo "module missing() { sphere(10); }" > missing.scad
+o Reload and Compile (F4) - verify that the sphere appeared
+o rm missing.scad
+o Reload and Compile (F4) - verify that the sphere is still there
+o echo "module missing() { sphere(20); }" > missing.scad
+o Reload and Compile (F4) - verify that the sphere increased in size
+
+Test12: Missing include file in subpath appears
+------
+o rm subdir/missingsub.scad
+o Open includemissingsub.scad
+o Compile (F5)
+o Verify that you get: WARNING: Can't open include file 'subdir/missingsub.scad'.
+o echo "module missingsub() { sphere(10); }" > subdir/missingsub.scad
+o Reload and Compile (F4) - verify that the sphere appeared
+o rm subdir/missingsub.scad
+o Reload and Compile (F4) - verify that the sphere is still there
+o echo "module missingsub() { sphere(20); }" > subdir/missingsub.scad
+o Reload and Compile (F4) - verify that the sphere increased in size
+
+Test13: Missing library file appears
+-------
+o rm missing.scad
+o Open usemissing.scad
+o Compile (F5)
+o Verify that you get: WARNING: Can't open library file 'missing.scad'.
+o echo "module missing() { sphere(10); }" > missing.scad
+o Reload and Compile (F4) - verify that the sphere appeared
+o rm missing.scad
+o Reload and Compile (F4) - verify that the sphere is still there
+o echo "module missing() { sphere(20); }" > missing.scad
+o Reload and Compile (F4) - verify that the sphere increased in size
+
+Test14: Automatic reload of cascading changes
+-------
+
+o ./cascade.sh
+o Open cascadetest.scad
+o Turn on Automatic Reload and Compile
+o Verify that the 4 objects render correctly
+o rm cascadetest.scad
+o Verify that no rerendering was triggered (the 4 objects are still there)
+o rm cascade*.scad
+o Verify that no rerendering was triggered (the 4 objects are still there)
+o ./cascade2.sh
+o Verify that everything reloads at once without flickering
diff --git a/testdata/modulecache-tests/cascade.sh b/testdata/modulecache-tests/cascade.sh
new file mode 100755
index 0000000..3193d06
--- /dev/null
+++ b/testdata/modulecache-tests/cascade.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+rm -f cascade*.scad
+echo "include <cascade-A.scad> include <cascade-B.scad> use <cascade-C.scad> use <cascade-D.scad> A(); translate([11,0,0]) B(); translate([22,0,0]) C(); translate([33,0,0]) D();" > cascadetest.scad
+sleep 0.05
+echo "module A() { sphere(5); }" > cascade-A.scad
+sleep 0.05
+echo "module B() { cube([8,8,8], center=true); }" > cascade-B.scad
+sleep 0.05
+echo "module C() { cylinder(h=8, r=5, center=true); }" > cascade-C.scad
+sleep 0.05
+echo "module D() { cylinder(h=10, r1=5, r2=0, center=true); }" > cascade-D.scad
diff --git a/testdata/modulecache-tests/cascade2.sh b/testdata/modulecache-tests/cascade2.sh
new file mode 100755
index 0000000..4969e6f
--- /dev/null
+++ b/testdata/modulecache-tests/cascade2.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+rm -f cascade-*.scad
+echo "include <cascade-A.scad> include <cascade-B.scad> use <cascade-C.scad> use <cascade-D.scad> A(); translate([11,0,0]) B(); translate([22,0,0]) C(); translate([33,0,0]) D();" > cascadetest.scad
+sleep 0.1
+echo "module A() { sphere(6); }" > cascade-A.scad
+sleep 0.1
+echo "module B() { cube([10,10,10], center=true); }" > cascade-B.scad
+sleep 0.1
+echo "module C() { cylinder(h=10, r=6, center=true); }" > cascade-C.scad
+sleep 0.1
+echo "module D() { cylinder(h=12, r1=6, r2=0, center=true); }" > cascade-D.scad
diff --git a/testdata/modulecache-tests/includemissing.scad b/testdata/modulecache-tests/includemissing.scad
new file mode 100644
index 0000000..d8a165f
--- /dev/null
+++ b/testdata/modulecache-tests/includemissing.scad
@@ -0,0 +1,2 @@
+include <missing.scad>
+missing();
diff --git a/testdata/modulecache-tests/includemissingsub.scad b/testdata/modulecache-tests/includemissingsub.scad
new file mode 100644
index 0000000..50acffe
--- /dev/null
+++ b/testdata/modulecache-tests/includemissingsub.scad
@@ -0,0 +1,2 @@
+include <subdir/missingsub.scad>
+missingsub();
diff --git a/testdata/modulecache-tests/usemissing.scad b/testdata/modulecache-tests/usemissing.scad
new file mode 100644
index 0000000..9f80b8b
--- /dev/null
+++ b/testdata/modulecache-tests/usemissing.scad
@@ -0,0 +1,2 @@
+use <missing.scad>
+missing();
contact: Jan Huwald // Impressum