From 68da5cf2e896b6e482ef4919d23844c21e35124c Mon Sep 17 00:00:00 2001 From: Marius Kintel Date: Tue, 21 Aug 2012 23:21:02 -0400 Subject: [PATCH] Manual tests for module caching --- testdata/modulecache-tests/README.txt | 75 +++++++++++++++++++ testdata/modulecache-tests/circularfirst.scad | 1 + testdata/modulecache-tests/circularmain.scad | 1 + .../modulecache-tests/circularsecond.scad | 1 + .../modulecache-tests/includefrommodule.scad | 3 + .../modulecache-tests/moduleoverload.scad | 7 ++ .../modulecache-tests/modulewithinclude.scad | 5 ++ testdata/modulecache-tests/multipleA.scad | 6 ++ testdata/modulecache-tests/multipleB.scad | 6 ++ .../modulecache-tests/multiplecommon.scad | 1 + testdata/modulecache-tests/multiplemain.scad | 5 ++ testdata/modulecache-tests/mymodule-lib.scad | 3 + testdata/modulecache-tests/radius.scad | 1 + testdata/modulecache-tests/recursive.scad | 1 + testdata/modulecache-tests/recursivemain.scad | 1 + testdata/modulecache-tests/simpleinclude.scad | 1 + testdata/modulecache-tests/simpleleaf.scad | 1 + testdata/modulecache-tests/use-mcad.scad | 3 + testdata/modulecache-tests/use.scad | 3 + testdata/modulecache-tests/used.scad | 5 ++ .../modulecache-tests/usenonexistingfile.scad | 1 + 21 files changed, 131 insertions(+) create mode 100644 testdata/modulecache-tests/README.txt create mode 100644 testdata/modulecache-tests/circularfirst.scad create mode 100644 testdata/modulecache-tests/circularmain.scad create mode 100644 testdata/modulecache-tests/circularsecond.scad create mode 100644 testdata/modulecache-tests/includefrommodule.scad create mode 100644 testdata/modulecache-tests/moduleoverload.scad create mode 100644 testdata/modulecache-tests/modulewithinclude.scad create mode 100644 testdata/modulecache-tests/multipleA.scad create mode 100644 testdata/modulecache-tests/multipleB.scad create mode 100644 testdata/modulecache-tests/multiplecommon.scad create mode 100644 testdata/modulecache-tests/multiplemain.scad create mode 100644 testdata/modulecache-tests/mymodule-lib.scad create mode 100644 testdata/modulecache-tests/radius.scad create mode 100644 testdata/modulecache-tests/recursive.scad create mode 100644 testdata/modulecache-tests/recursivemain.scad create mode 100644 testdata/modulecache-tests/simpleinclude.scad create mode 100644 testdata/modulecache-tests/simpleleaf.scad create mode 100644 testdata/modulecache-tests/use-mcad.scad create mode 100644 testdata/modulecache-tests/use.scad create mode 100644 testdata/modulecache-tests/used.scad create mode 100644 testdata/modulecache-tests/usenonexistingfile.scad diff --git a/testdata/modulecache-tests/README.txt b/testdata/modulecache-tests/README.txt new file mode 100644 index 00000000..463261c8 --- /dev/null +++ b/testdata/modulecache-tests/README.txt @@ -0,0 +1,75 @@ +Some work is needed to include these into the automated test suite. +For now, run them manually according to these instructions: + +Compile OpenSCAD in debug mode. This will give console output related to module caching, e.g.: +/path/to/used.scad: 0x103612f70 +Module cache size: 1 modules + +Test1: +------ + +o Open use.scad +o Compile twice (F5) - check that module reference is the same + +Test2: +------ + +o Open use.scad +o Compile (F5) +o touch used.scad +o Compile (F5) - check that the module reference changed + +Test3: +------ + +o Open use-mcad.scad +o Compile (F5) +o Check that you get a rounded box + +Test4: +------ + +o Open usenonexsistingfile.scad +o Compile (F5) +o Verify that you get: WARNING: Can't open 'use' file 'nofile.scad'. + +Test5: +------ + +o Open moduleoverload.scad +o Compile (F5) +o Verify that you get a sphere rather than a cylinder + +Test6: +------ + +o Open recursivemain.scad +o Compile (F5) +o Verify that OpenSCAD won't hang or crash + +Test7: +------ + +o Open circularmain.scad +o Compile (F5) +o Verify that OpenSCAD won't hang or crash + +Test8: +------ + +o Open multiplemain.scad +o Compile (F5) - verify that you get a sphere and a cube of approximately the same size +o Edit multipleB.scad: + - cube(1.5*F(), center=true); + + cube(2.5*F(), center=true); +o Reload and Compile (F4) - verify that the cube got larger + +Test9: +------ + +o Open includefrommodule.scad +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 + +FIXME: Test circular include diff --git a/testdata/modulecache-tests/circularfirst.scad b/testdata/modulecache-tests/circularfirst.scad new file mode 100644 index 00000000..90052a98 --- /dev/null +++ b/testdata/modulecache-tests/circularfirst.scad @@ -0,0 +1 @@ +use diff --git a/testdata/modulecache-tests/circularmain.scad b/testdata/modulecache-tests/circularmain.scad new file mode 100644 index 00000000..feb9dde9 --- /dev/null +++ b/testdata/modulecache-tests/circularmain.scad @@ -0,0 +1 @@ +use diff --git a/testdata/modulecache-tests/circularsecond.scad b/testdata/modulecache-tests/circularsecond.scad new file mode 100644 index 00000000..feb9dde9 --- /dev/null +++ b/testdata/modulecache-tests/circularsecond.scad @@ -0,0 +1 @@ +use diff --git a/testdata/modulecache-tests/includefrommodule.scad b/testdata/modulecache-tests/includefrommodule.scad new file mode 100644 index 00000000..70bd804c --- /dev/null +++ b/testdata/modulecache-tests/includefrommodule.scad @@ -0,0 +1,3 @@ +use + +mymodule(); diff --git a/testdata/modulecache-tests/moduleoverload.scad b/testdata/modulecache-tests/moduleoverload.scad new file mode 100644 index 00000000..19287153 --- /dev/null +++ b/testdata/modulecache-tests/moduleoverload.scad @@ -0,0 +1,7 @@ +use + +module mymodule() { + sphere(); +} + +mymodule(); diff --git a/testdata/modulecache-tests/modulewithinclude.scad b/testdata/modulecache-tests/modulewithinclude.scad new file mode 100644 index 00000000..17ff74a2 --- /dev/null +++ b/testdata/modulecache-tests/modulewithinclude.scad @@ -0,0 +1,5 @@ +include + +module mymodule() { + cylinder(r=RADIUS); +} diff --git a/testdata/modulecache-tests/multipleA.scad b/testdata/modulecache-tests/multipleA.scad new file mode 100644 index 00000000..5f224718 --- /dev/null +++ b/testdata/modulecache-tests/multipleA.scad @@ -0,0 +1,6 @@ +use + +module A() +{ + sphere(r=F()); +} diff --git a/testdata/modulecache-tests/multipleB.scad b/testdata/modulecache-tests/multipleB.scad new file mode 100644 index 00000000..adee23cf --- /dev/null +++ b/testdata/modulecache-tests/multipleB.scad @@ -0,0 +1,6 @@ +use + +module B() +{ + cube(1.5*F(), center=true); +} diff --git a/testdata/modulecache-tests/multiplecommon.scad b/testdata/modulecache-tests/multiplecommon.scad new file mode 100644 index 00000000..666c99fc --- /dev/null +++ b/testdata/modulecache-tests/multiplecommon.scad @@ -0,0 +1 @@ +function F() = 20; diff --git a/testdata/modulecache-tests/multiplemain.scad b/testdata/modulecache-tests/multiplemain.scad new file mode 100644 index 00000000..6dd75a77 --- /dev/null +++ b/testdata/modulecache-tests/multiplemain.scad @@ -0,0 +1,5 @@ +use +use + +A(); +translate([40,0,0]) B(); diff --git a/testdata/modulecache-tests/mymodule-lib.scad b/testdata/modulecache-tests/mymodule-lib.scad new file mode 100644 index 00000000..9d685810 --- /dev/null +++ b/testdata/modulecache-tests/mymodule-lib.scad @@ -0,0 +1,3 @@ +module mymodule() { + cylinder(center=true); +} diff --git a/testdata/modulecache-tests/radius.scad b/testdata/modulecache-tests/radius.scad new file mode 100644 index 00000000..7620356d --- /dev/null +++ b/testdata/modulecache-tests/radius.scad @@ -0,0 +1 @@ +RADIUS = 5; diff --git a/testdata/modulecache-tests/recursive.scad b/testdata/modulecache-tests/recursive.scad new file mode 100644 index 00000000..5c117f4a --- /dev/null +++ b/testdata/modulecache-tests/recursive.scad @@ -0,0 +1 @@ +use diff --git a/testdata/modulecache-tests/recursivemain.scad b/testdata/modulecache-tests/recursivemain.scad new file mode 100644 index 00000000..5c117f4a --- /dev/null +++ b/testdata/modulecache-tests/recursivemain.scad @@ -0,0 +1 @@ +use diff --git a/testdata/modulecache-tests/simpleinclude.scad b/testdata/modulecache-tests/simpleinclude.scad new file mode 100644 index 00000000..9a095022 --- /dev/null +++ b/testdata/modulecache-tests/simpleinclude.scad @@ -0,0 +1 @@ +include diff --git a/testdata/modulecache-tests/simpleleaf.scad b/testdata/modulecache-tests/simpleleaf.scad new file mode 100644 index 00000000..b216b6c3 --- /dev/null +++ b/testdata/modulecache-tests/simpleleaf.scad @@ -0,0 +1 @@ +cylinder(h=25, r=12); diff --git a/testdata/modulecache-tests/use-mcad.scad b/testdata/modulecache-tests/use-mcad.scad new file mode 100644 index 00000000..b4b206a5 --- /dev/null +++ b/testdata/modulecache-tests/use-mcad.scad @@ -0,0 +1,3 @@ +use + +roundedBox([10,10,10], 2, $fn=16); diff --git a/testdata/modulecache-tests/use.scad b/testdata/modulecache-tests/use.scad new file mode 100644 index 00000000..693092ac --- /dev/null +++ b/testdata/modulecache-tests/use.scad @@ -0,0 +1,3 @@ +use + +used(s()); diff --git a/testdata/modulecache-tests/used.scad b/testdata/modulecache-tests/used.scad new file mode 100644 index 00000000..cc301b5e --- /dev/null +++ b/testdata/modulecache-tests/used.scad @@ -0,0 +1,5 @@ +function s() = 20; + +module used(r) { + sphere(r); +} diff --git a/testdata/modulecache-tests/usenonexistingfile.scad b/testdata/modulecache-tests/usenonexistingfile.scad new file mode 100644 index 00000000..b5e4dd9e --- /dev/null +++ b/testdata/modulecache-tests/usenonexistingfile.scad @@ -0,0 +1 @@ +use