---
This can be applied on top of Chris's earlier patch (I tested with v2).
The test will fail if the test polar.ngc outputs a different sequence of
canon calls than it does when the expected output was generated.
It doesn't test error cases; we don't have a good infrastructure for
doing that.
tests/interp/rtheta/README | 1 +
tests/interp/rtheta/expected | 145 ++++++++++++++++++++++++++++++++++++++++++
tests/interp/rtheta/test.sh | 4 +
3 files changed, 150 insertions(+), 0 deletions(-)
create mode 100644 tests/interp/rtheta/README
create mode 100644 tests/interp/rtheta/expected
create mode 100644 tests/interp/rtheta/test.sh
diff --git a/tests/interp/rtheta/README b/tests/interp/rtheta/README
new file mode 100644
index 0000000..37cc5fa
--- /dev/null
+++ b/tests/interp/rtheta/README
@@ -0,0 +1 @@
+Run the 'polar.ngc' example program and check that it gives the same results
diff --git a/tests/interp/rtheta/expected b/tests/interp/rtheta/expected
new file mode 100644
index 0000000..b49ee14
--- /dev/null
+++ b/tests/interp/rtheta/expected
@@ -0,0 +1,145 @@
+ N..... USE_LENGTH_UNITS(CANON_UNITS_MM)
+ N..... SET_ORIGIN_OFFSETS(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
+ N..... SET_XY_ROTATION(0.0000)
+ N..... SET_FEED_REFERENCE(CANON_XYZ)
+ N..... USE_LENGTH_UNITS(CANON_UNITS_INCHES)
+ N..... STRAIGHT_TRAVERSE(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
+ N..... SET_FEED_RATE(60.0000)
+ N..... STRAIGHT_TRAVERSE(0.0000, 0.0000, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
+ N..... STRAIGHT_TRAVERSE(2.5000, 0.0000, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(2.5000, 0.0000, -0.5000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(2.5000, 0.0000, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
+ N..... STRAIGHT_TRAVERSE(-1.2500, 2.1651, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(-1.2500, 2.1651, -0.5000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(-1.2500, 2.1651, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
+ N..... STRAIGHT_TRAVERSE(-1.2500, -2.1651, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(-1.2500, -2.1651, -0.5000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(-1.2500, -2.1651, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
+ N..... STRAIGHT_TRAVERSE(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
+ N..... COMMENT("interpreter: distance mode changed to incremental")
+ N..... STRAIGHT_TRAVERSE(0.0000, 0.0000, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
+ N..... STRAIGHT_TRAVERSE(0.8387, 0.5446, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(0.8387, 0.5446, -0.4000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(0.8387, 0.5446, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(1.6773, 1.0893, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(1.6773, 1.0893, -0.4000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(1.6773, 1.0893, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(2.5160, 1.6339, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(2.5160, 1.6339, -0.4000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(2.5160, 1.6339, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(3.3547, 2.1786, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(3.3547, 2.1786, -0.4000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(3.3547, 2.1786, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(4.1934, 2.7232, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(4.1934, 2.7232, -0.4000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(4.1934, 2.7232, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
+ N..... COMMENT("interpreter: distance mode changed to absolute")
+ N..... STRAIGHT_TRAVERSE(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(0.0000, 0.0000, -0.2500, 0.0000, 0.0000, 0.0000)
+ N..... COMMENT("interpreter: distance mode changed to incremental")
+ N..... STRAIGHT_FEED(2.0000, 0.0000, -0.2500, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(2.0000, 2.0000, -0.2500, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(0.0000, 2.0000, -0.2500, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(-0.0000, 0.0000, -0.2500, 0.0000, 0.0000, 0.0000)
+ N..... COMMENT("interpreter: distance mode changed to absolute")
+ N..... STRAIGHT_TRAVERSE(-0.0000, 0.0000, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
+ N..... STRAIGHT_TRAVERSE(2.0000, 0.0000, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(2.0000, 0.0000, -0.5000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(2.0000, 0.0000, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
+ N..... STRAIGHT_TRAVERSE(1.8649, 0.7225, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(1.8649, 0.7225, -0.5000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(1.8649, 0.7225, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
+ N..... STRAIGHT_TRAVERSE(1.4780, 1.3474, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(1.4780, 1.3474, -0.5000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(1.4780, 1.3474, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
+ N..... STRAIGHT_TRAVERSE(0.8915, 1.7903, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(0.8915, 1.7903, -0.5000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(0.8915, 1.7903, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
+ N..... STRAIGHT_TRAVERSE(0.1845, 1.9915, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(0.1845, 1.9915, -0.5000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(0.1845, 1.9915, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
+ N..... STRAIGHT_TRAVERSE(-0.5473, 1.9237, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(-0.5473, 1.9237, -0.5000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(-0.5473, 1.9237, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
+ N..... STRAIGHT_TRAVERSE(-1.2053, 1.5960, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(-1.2053, 1.5960, -0.5000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(-1.2053, 1.5960, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
+ N..... STRAIGHT_TRAVERSE(-1.7004, 1.0529, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(-1.7004, 1.0529, -0.5000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(-1.7004, 1.0529, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
+ N..... STRAIGHT_TRAVERSE(-1.9659, 0.3675, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(-1.9659, 0.3675, -0.5000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(-1.9659, 0.3675, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
+ N..... STRAIGHT_TRAVERSE(-1.9659, -0.3675, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(-1.9659, -0.3675, -0.5000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(-1.9659, -0.3675, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
+ N..... STRAIGHT_TRAVERSE(-1.7004, -1.0529, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(-1.7004, -1.0529, -0.5000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(-1.7004, -1.0529, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
+ N..... STRAIGHT_TRAVERSE(-1.2053, -1.5960, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(-1.2053, -1.5960, -0.5000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(-1.2053, -1.5960, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
+ N..... STRAIGHT_TRAVERSE(-0.5473, -1.9237, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(-0.5473, -1.9237, -0.5000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(-0.5473, -1.9237, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
+ N..... STRAIGHT_TRAVERSE(0.1845, -1.9915, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(0.1845, -1.9915, -0.5000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(0.1845, -1.9915, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
+ N..... STRAIGHT_TRAVERSE(0.8915, -1.7903, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(0.8915, -1.7903, -0.5000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(0.8915, -1.7903, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
+ N..... STRAIGHT_TRAVERSE(1.4780, -1.3474, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(1.4780, -1.3474, -0.5000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(1.4780, -1.3474, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_EXACT_PATH)
+ N..... STRAIGHT_TRAVERSE(1.8649, -0.7225, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_FEED(1.8649, -0.7225, -0.5000, 0.0000, 0.0000, 0.0000)
+ N..... STRAIGHT_TRAVERSE(1.8649, -0.7225, 0.1000, 0.0000, 0.0000, 0.0000)
+ N..... SET_MOTION_CONTROL_MODE(CANON_CONTINUOUS, 0.000000)
+ N..... SET_ORIGIN_OFFSETS(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
+ N..... SET_XY_ROTATION(0.0000)
+ N..... SET_FEED_MODE(0)
+ N..... SET_FEED_RATE(0.0000)
+ N..... STOP_SPINDLE_TURNING()
+ N..... SET_SPINDLE_MODE(0.0000)
+ N..... PROGRAM_END()
diff --git a/tests/interp/rtheta/test.sh b/tests/interp/rtheta/test.sh
new file mode 100644
index 0000000..70a2483
--- /dev/null
+++ b/tests/interp/rtheta/test.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+rs274 -g ../../../nc_files/polar.ngc | awk '{$1=""; print}'
+result=$?
+exit $result
--
1.6.3.3
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers