Are the GPX tests out of date?

35 views
Skip to first unread message

Chow Loong Jin

unread,
Apr 11, 2016, 10:08:44 AM4/11/16
to GPX converter
Hey,

I noticed that `make test` always fails. Looking at previous builds shows that
the lint.x3g generated from lint.gcode never matched the lint.txt stored in the
repository in previous releases either, just that make test failed silently with
exit code 0 before.

Is it outdated/mismatched, or is there something wrong with the way I'm running
the tests?

Output:

$ make test DIFF="colordiff -u"
Making test in src/gpx
make[1]: Entering directory '/home/hyperair/src/debian/pkg-3dprinter/gpx/src/gpx'
./gpx -p -m r2x ./tests/lint.gcode ./lint.x3g > ./lint.log 2>&1
./gpx -g -p -m r2x ./tests/lint.gcode ./lint-g.x3g > ./lint-g.log 2>&1
./gpx -p -m r2x ./tests/issue13.gcode ./issue13.x3g > ./issue13.log 2>&1
./gpx -g -p -m r2x ./tests/issue13.gcode ./issue13-g.x3g > ./issue13-g.log 2>&1
python ../../scripts/s3g-decompiler.py ./lint.x3g > ./lint.txt 2>&1
python ../../scripts/s3g-decompiler.py ./lint-g.x3g > ./lint-g.txt 2>&1
python ../../scripts/s3g-decompiler.py ./issue13.x3g > ./issue13.txt 2>&1
python ../../scripts/s3g-decompiler.py ./issue13-g.x3g > ./issue13-g.txt 2>&1
colordiff -u ./tests/lint.txt ./lint.txt
--- ./tests/lint.txt 2016-04-11 21:38:47.805765901 +0800
+++ ./lint.txt 2016-04-11 21:50:16.473641394 +0800
@@ -34,9 +34,9 @@
33: (155) Move to (5333, 5333, 24000, -97, 0), DDA rate 7698, A, B relative, distance 17.320509 mm, feedrate*64 2133 steps/s
34: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "G53 - machine zero"
35: (155) Move to (0, 0, 0, -96, 0), DDA rate 7698, A, B relative, distance 103.923050 mm, feedrate*64 2133 steps/s
-36: (150) Set build percentage 2%, reserved 0
-37: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "G91 - relative"
-38: (155) Move to (889, 889, 4000, 1059, 0), DDA rate 7698, A, B relative, distance 17.320509 mm, feedrate*64 2133 steps/s
+36: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "G91 - relative"
+37: (155) Move to (889, 889, 4000, 1059, 0), DDA rate 7698, A, B relative, distance 17.320509 mm, feedrate*64 2133 steps/s
+38: (150) Set build percentage 2%, reserved 0
39: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "G90 - absolute"
40: (155) Move to (0, 0, 0, -1252, 0), DDA rate 7698, A, B relative, distance 17.320509 mm, feedrate*64 2133 steps/s
41: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "G92 - define pos"
@@ -54,74 +54,76 @@
53: (131) Home minimum on Z, feedrate 136 us/step, timeout 20 s
54: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M104 - set temp"
55: (136) Tool 0: (3) Set target temperature to 230 C
-56: (150) Set build percentage 19%, reserved 0
+56: (150) Set build percentage 18%, reserved 0
57: (136) Tool 1: (3) Set target temperature to 230 C
-58: (150) Set build percentage 36%, reserved 0
+58: (150) Set build percentage 34%, reserved 0
59: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M6 - wait for tool"
60: (135) Wait until Tool 0 is ready, 100 ms between polls, 65535 s timeout
-61: (134) Switch to Tool 1
-62: (135) Wait until Tool 1 is ready, 100 ms between polls, 65535 s timeout
+61: (149) Display message, options 0x02, position (0, 0), timeout 2 s, message "gpx 2.4.3"
+62: (134) Switch to Tool 1
63: (135) Wait until Tool 1 is ready, 100 ms between polls, 65535 s timeout
-64: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M17 - steppers on"
-65: (137) Enable X, Y, Z, A, B stepper motors
-66: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M18 - steppers off"
-67: (137) Disable X, Y, Z, A, B stepper motors
-68: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "T0 - tool change"
-69: (134) Switch to Tool 0
-70: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "T1 - tool change"
-71: (134) Switch to Tool 1
-72: (149) Display message, options 0x00, position (0, 0), timeout 0 s, message "This is a really lar"
-73: (149) Display message, options 0x01, position (0, 0), timeout 0 s, message "ge message that will"
-74: (149) Display message, options 0x01, position (0, 0), timeout 0 s, message " take up quite a few"
-75: (149) Display message, options 0x03, position (0, 0), timeout 20 s, message " rows to display on "
-76: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M71 - wait for input"
-77: (149) Display message, options 0x06, position (0, 0), timeout 0 s, message "Press the M Button"
-78: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M72 - play song"
-79: (151) Queue song 0
-80: (151) Queue song 1
-81: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M73 - progress"
-82: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M101 - extruder on-f"
-83: (137) Enable B stepper motors
-84: (137) Enable A stepper motors
-85: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M102 - extruder on-r"
+64: (149) Display message, options 0x02, position (0, 0), timeout 2 s, message "gpx 2.4.3"
+65: (135) Wait until Tool 1 is ready, 100 ms between polls, 65535 s timeout
+66: (149) Display message, options 0x02, position (0, 0), timeout 2 s, message "gpx 2.4.3"
+67: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M17 - steppers on"
+68: (137) Enable X, Y, Z, A, B stepper motors
+69: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M18 - steppers off"
+70: (137) Disable X, Y, Z, A, B stepper motors
+71: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "T0 - tool change"
+72: (134) Switch to Tool 0
+73: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "T1 - tool change"
+74: (134) Switch to Tool 1
+75: (149) Display message, options 0x00, position (0, 0), timeout 0 s, message "This is a really lar"
+76: (149) Display message, options 0x01, position (0, 0), timeout 0 s, message "ge message that will"
+77: (149) Display message, options 0x01, position (0, 0), timeout 0 s, message " take up quite a few"
+78: (149) Display message, options 0x03, position (0, 0), timeout 20 s, message " rows to display on "
+79: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M71 - wait for input"
+80: (149) Display message, options 0x06, position (0, 0), timeout 0 s, message "Press the M Button"
+81: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M72 - play song"
+82: (151) Queue song 0
+83: (151) Queue song 1
+84: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M73 - progress"
+85: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M101 - extruder on-f"
86: (137) Enable B stepper motors
87: (137) Enable A stepper motors
-88: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M103 - extruder off"
-89: (137) Disable B stepper motors
-90: (137) Disable A stepper motors
-91: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M104 - set temp"
-92: (136) Tool 1: (3) Set target temperature to 240 C
-93: (136) Tool 0: (3) Set target temperature to 230 C
-94: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M108 - set rpm"
-95: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M109 - hbp temp"
-96: (136) Tool 0: (3) Set target temperature to 110 C
-97: (135) Wait until Tool 0 is ready, 100 ms between polls, 65535 s timeout
-98: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M126 - blower on"
-99: (136) Tool 0: (13) Toggle blower fan 1
-100: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M127 - blower off"
-101: (136) Tool 0: (13) Toggle blower fan 0
-102: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M131 - store EEPROM"
-103: (143) Store home position for X, Y, Z, A, B
-104: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M132 - load EEPROM"
-105: (144) Recall home position for X, Y, Z, A, B
-106: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M140 - hbp temp"
-107: (136) Tool 0: (31) Set build platform temperature to 100 C
-108: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M300 - set beep"
-109: (147) Set buzzer frequency 4000, duration 100 ms, effect 0
-110: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M320 - acc on"
-111: (156) Set segment acceleration on
-112: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M21 - acc off"
-113: (156) Set segment acceleration off
-114: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M322 - pause@z"
-115: (158) Pause @ Z position 10.000000
-116: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M420 - set LED"
-117: (146) Set RGB LED (0xff, 0x00, 0x00), blink rate 0, effect 0
-118: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "T1 - set tool"
-119: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "T0 - set tool"
-120: (134) Switch to Tool 0
-121: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M73 - end build"
-122: (150) Set build percentage 100%, reserved 0
-123: (154) End build notification, options 0x00
-124: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "after the end"
-125: (8) Pause
+88: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M102 - extruder on-r"
+89: (137) Enable B stepper motors
+90: (137) Enable A stepper motors
+91: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M103 - extruder off"
+92: (137) Disable B stepper motors
+93: (137) Disable A stepper motors
+94: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M104 - set temp"
+95: (136) Tool 1: (3) Set target temperature to 240 C
+96: (136) Tool 0: (3) Set target temperature to 230 C
+97: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M108 - set rpm"
+98: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M109 - hbp temp"
+99: (136) Tool 0: (31) Set build platform temperature to 110 C
+100: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M126 - blower on"
+101: (136) Tool 1: (13) Toggle blower fan 1
+102: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M127 - blower off"
+103: (136) Tool 1: (13) Toggle blower fan 0
+104: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M131 - store EEPROM"
+105: (143) Store home position for X, Y, Z, A, B
+106: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M132 - load EEPROM"
+107: (144) Recall home position for X, Y, Z, A, B
+108: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M140 - hbp temp"
+109: (136) Tool 0: (31) Set build platform temperature to 100 C
+110: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M300 - set beep"
+111: (147) Set buzzer frequency 4000, duration 100 ms, effect 0
+112: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M320 - acc on"
+113: (156) Set segment acceleration on
+114: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M21 - acc off"
+115: (156) Set segment acceleration off
+116: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M322 - pause@z"
+117: (158) Pause @ Z position 10.000000
+118: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M420 - set LED"
+119: (146) Set RGB LED (0xff, 0x00, 0x00), blink rate 0, effect 0
+120: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "T1 - set tool"
+121: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "T0 - set tool"
+122: (134) Switch to Tool 0
+123: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "M73 - end build"
+124: (150) Set build percentage 100%, reserved 0
+125: (154) End build notification, options 0x00
+126: (149) Display message, options 0x02, position (0, 0), timeout 0 s, message "after the end"
+127: (8) Pause
EOF
Makefile:583: recipe for target 'test-local' failed
make[1]: *** [test-local] Error 1
make[1]: Leaving directory '/home/hyperair/src/debian/pkg-3dprinter/gpx/src/gpx'
Makefile:377: recipe for target 'test-recursive' failed
make: *** [test-recursive] Error 1


--
Kind regards,
Loong Jin
signature.asc

Mark Walker

unread,
Apr 11, 2016, 10:43:49 AM4/11/16
to GPX converter
The Travis build runs them successfully, but it uses diff -b to ignore whitespace differences so that we don't get snagged by CR/LF's.

Chow Loong Jin

unread,
Apr 11, 2016, 11:08:47 AM4/11/16
to Mark Walker, GPX converter
On Mon, Apr 11, 2016 at 07:43:49AM -0700, Mark Walker wrote:
> The Travis build runs them successfully, but it uses diff -b to ignore
> whitespace differences so that we don't get snagged by CR/LF's.

Hmm, still fails. diff shows whole lines being swapped. Specifically, that build
progress line likes to jump everywhere.
signature.asc

Mark Walker

unread,
Apr 11, 2016, 2:49:55 PM4/11/16
to GPX converter
The test environment isn't isolated.  If you have a gpx.ini in an implicitly loaded location (~/.gpx) that is different from the defaults then the test environment will pick that up and compare it with the results that are in the tree which will be different since they were generated without a gpx.ini

Since the travis build works and it doesn't have a gpx.ini, I believe the checked in test output is with no gpx.ini

Perhaps we should add a command line switch that is "test-mode": ignore all gpx.ini not explicitly on the command line.

I just checked and on one of my machines I do have a gpx.ini, but it passes the test anyway because all of the settings in it are overridden by the command line arguments in this case.

Mark Walker

unread,
Apr 11, 2016, 4:05:28 PM4/11/16
to GPX converter
I added a -I flag to the command line which means "Ignore default gpx.ini" and I put it in the Makefile.am.  BTW what does your ~/.gpx.ini have in it that changes the progress calculation?

Mark Walker

unread,
Apr 11, 2016, 4:08:36 PM4/11/16
to GPX converter
Side note: I also made the default for automake to disable maintainer mode.  It simplifies things like Travis where they have older autotools and for anybody who just wants to build the checkpoint.  But for you, you might want to do configure with the maintainer mode enabled:

../configure --enable-maintainer-mode

Chow Loong Jin

unread,
Apr 12, 2016, 2:57:52 PM4/12/16
to Mark Walker, GPX converter

On Mon, Apr 11, 2016 at 01:05:27PM -0700, Mark Walker wrote:
> I added a -I flag to the command line which means "Ignore default gpx.ini"
> and I put it in the Makefile.am. BTW what does your ~/.gpx.ini have in it
> that changes the progress calculation?
>
> https://travis-ci.org/markwal/GPX

Whoops, looks like that's what caused the errors -- everything passes once I
moved my ~/.gpx.ini away.

Here's my .gpx.ini:

[printer]
machine_type=r1d
gcode_flavor=makerbot
verbose=1

[a]
steps_per_mm=420.1103218894628

[x]
steps_per_mm=94.117647059

[y]
steps_per_mm=94.117647059
signature.asc
Reply all
Reply to author
Forward
0 new messages