Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tests fail with GHC 7.8.3 and pass with GHC 8.0.2 #9

Open
mignon-p opened this issue Jul 7, 2017 · 2 comments
Open

tests fail with GHC 7.8.3 and pass with GHC 8.0.2 #9

mignon-p opened this issue Jul 7, 2017 · 2 comments

Comments

@mignon-p
Copy link
Contributor

mignon-p commented Jul 7, 2017

When using GHC 7.8.3, I get:

(used seed 4269272319002797922)

         Properties  Total      
 Passed  4           4          
 Failed  2           2          
 Total   6           6          
Test suite kicad-data-quickcheck: FAIL
Test suite logged to: dist/test/kicad-data-0.4.0-kicad-data-quickcheck.log
0 of 1 test suites (0 of 1 test cases) passed.

kicad-data-0.4.0-kicad-data-quickcheck.log.zip

When using GHC 8.0.2, I get:

Expr:
  parse all keywords: [OK, passed 100 tests]
PcbnewExpr:
  parse fp_line correctly: [OK, passed 100 tests]
  parse fp_arc correctly: [OK, passed 100 tests]
  parse fp_poly correctly: [OK, passed 100 tests]
  parse and write any PcbnewExpr: [OK, passed 100 tests]
  parse and pretty any PcbnewExpr: [OK, passed 100 tests]

         Properties  Total      
 Passed  6           6          
 Failed  0           0          
 Total   6           6          

I suspect it isn't actually the difference in compiler version that makes the difference, but rather some difference in the versions of dependencies used.

With GHC 7.8.3, my dependencies are as follows:

array == 0.5.0.0
base == 4.7.0.1
bytestring == 0.10.4.0
containers == 0.5.5.1
deepseq == 1.3.0.2
ghc-prim == 0.3.1.0
ieee754 == 0.7.9
integer-gmp == 0.5.1.0
lens-family == 1.1.0
lens-family-core == 1.1.0
mtl == 2.1.3.1
parsec == 3.1.11
parsec-numbers == 0.1.0
pretty-compact == 1.0
rts == 1.0
text == 1.1.0.0
transformers == 0.3.0.0

With GHC 8.0.2, my dependencies are:

array == 0.5.1.1
base == 4.9.1.0
binary == 0.8.3.0
bytestring == 0.10.8.1
containers == 0.5.7.1
deepseq == 1.4.2.0
ghc-prim == 0.5.0.0
ieee754 == 0.8.0
integer-gmp == 1.0.0.1
lens-family == 1.2.1
lens-family-core == 1.2.1
mtl == 2.2.1
parsec == 3.1.11
parsec-numbers == 0.1.0
pretty-compact == 1.0
rts == 1.0
text == 1.2.2.1
transformers == 0.5.2.0
@kasbah
Copy link
Member

kasbah commented Jul 7, 2017

Here is the diff from the first test in your log. Seems like the PcbnewZoneConnect goes way out for some reason. The rest are floating point errors that the tests ignore.

--- /tmp/actual	2017-07-07 16:48:08.214486614 +0100
+++ /tmp/expected	2017-07-07 16:48:11.590476989 +0100
@@ -187,7 +187,7 @@
 227.6916419570008),
 (49.999552151610175,
 -130.61460521882458),
-(-4.8627628816646435,
+(-4.862762881664644,
 6.538180639341953),
 (-138.62152488232542,
 -170.11283662608867),
@@ -445,10 +445,10 @@
 BCrtYd,
 BFab],
  padAttributes_ = [PcbnewClearance 243.56588179626414,
-PcbnewZoneConnect (-10),
+PcbnewZoneConnect (-10412635823),
 PcbnewClearance 29.975383715283378,
 PcbnewPasteMarginRatio (-4676.9847277907),
-PcbnewZoneConnect 15,
+PcbnewZoneConnect 15100319456,
 PcbnewThermalWidth 180.9129497847466,
 PcbnewZoneConnect 5010584138,
 PcbnewThermalWidth 155.04621692139034,
@@ -474,7 +474,7 @@
 PcbnewPasteMargin 363.1956851805575,
 PcbnewRectDelta (4510.767827511508,
 29.967362911294376),
-PcbnewZoneConnect (-11),
+PcbnewZoneConnect (-11196965315),
 PcbnewDrill (PcbnewDrillT {pcbnewDrillSize = Nothing,
  pcbnewDrillOval = True,
  pcbnewDrillOffset = Just (-331.62354121188133,
@@ -492,8 +492,8 @@
  pcbnewDrillOval = True,
  pcbnewDrillOffset = Just (-24.94193024691245,
 27.465693885753673)}),
-PcbnewZoneConnect (-12),
-PcbnewZoneConnect 14,
+PcbnewZoneConnect (-11834689428),
+PcbnewZoneConnect 14129499418,
 PcbnewPasteMargin (-1197.5733336273422),
 PcbnewPasteMarginRatio 72.65765884866164,
 PcbnewDrill (PcbnewDrillT {pcbnewDrillSize = Nothing,
@@ -715,10 +715,10 @@
 -150.43004987871976),
 PcbnewZoneConnect 7329751568,
 PcbnewThermalWidth 82.73582698023006,
-PcbnewThermalGap 5.3756570069097975,
+PcbnewThermalGap 5.375657006909798,
 PcbnewRectDelta (-7.097447280878962,
 -46.70320886622536),
-PcbnewZoneConnect (-13),
+PcbnewZoneConnect (-13255388234),
 PcbnewDrill (PcbnewDrillT {pcbnewDrillSize = Just (15.729020373769263,
 -19.280651354118202),
  pcbnewDrillOval = True,
@@ -729,7 +729,7 @@
 PcbnewRectDelta (31.90350678051909,
 13.872609046938093),
 PcbnewThermalGap 214.77735110306222,
-PcbnewZoneConnect 12,
+PcbnewZoneConnect 12405861584,
 PcbnewPasteMargin (-12.023559995351206),
 PcbnewMaskMargin (-172.45921964396757),
 PcbnewDrill (PcbnewDrillT {pcbnewDrillSize = Nothing,
@@ -742,7 +742,7 @@
 -247.82477362231913)}),
 PcbnewPasteMargin 60.966391218706036,
 PcbnewThermalWidth 75.78601090014341,
-PcbnewZoneConnect 11,
+PcbnewZoneConnect 10920304148,
 PcbnewThermalWidth 217.7600516798825,
 PcbnewClearance (-96.3217210537641),
 PcbnewPasteMargin 54.804476823491264,
@@ -840,7 +840,7 @@
 PcbnewRectDelta (44.454077796715126,
 -117.2516483856063),
 PcbnewMaskMargin (-41.45786788753075),
-PcbnewZoneConnect 16,
+PcbnewZoneConnect 16444024667,
 PcbnewDrill (PcbnewDrillT {pcbnewDrillSize = Nothing,
  pcbnewDrillOval = True,
  pcbnewDrillOffset = Just (-42.53351402376608,
@@ -931,12 +931,12 @@
  pcbnewDrillOval = False,
  pcbnewDrillOffset = Just (-30.086215920271975,
 -20.754889165969047)}),
-PcbnewZoneConnect (-17),
+PcbnewZoneConnect (-16669604925),
 PcbnewRectDelta (71.16374031066421,
 -65.34894435200074),
 PcbnewClearance 38.353546503035915,
 PcbnewThermalGap 77.21923567015635,
-PcbnewZoneConnect 10,
+PcbnewZoneConnect 10056755613,
 PcbnewPasteMarginRatio (-167.5545671738915),
 PcbnewRectDelta (-26.29081486343514,
 -75.07580757183784),
@@ -1010,7 +1010,7 @@
 AllPaste,
 AllPaste,
 Inner29Cu],
- padAttributes_ = [PcbnewZoneConnect 15,
+ padAttributes_ = [PcbnewZoneConnect 14684853791,
 PcbnewRectDelta (-90.42754797880718,
 43.17277733550256),
 PcbnewClearance (-56.21668030714556),
@@ -1031,7 +1031,7 @@
 PcbnewPasteMarginRatio (-128.2880312242528),
 PcbnewClearance (-20.068564873914447),
 PcbnewThermalGap (-446.89074214627175),
-PcbnewThermalWidth (-19.877338838489848),
+PcbnewThermalWidth (-19.87733883848985),
 PcbnewThermalWidth (-191.88051930523358),
 PcbnewDrill (PcbnewDrillT {pcbnewDrillSize = Nothing,
  pcbnewDrillOval = False,
@@ -1382,7 +1382,7 @@
  padType = ThruHole,
  padShape = Rect,
  itemAt = PcbnewAtT {pcbnewAtPoint = (-2.1987467611937657,
-1.5789206852389799),
+1.57892068523898),
  pcbnewAtOrientation = -8.037782874312654},
  itemSize = (60.59561094277609,
 -38.65424759177647),
@@ -1471,7 +1471,7 @@
 -1074.8745658260693),
  pcbnewDrillOval = True,
  pcbnewDrillOffset = Just (70.49634129245673,
-52.441662150535564)})]},
+52.44166215053556)})]},
 PcbnewFpPoly {fpPolyPts = [(-227.7833595021419,
 31.803500320578188),
 (19.01335705981543,
@@ -1502,7 +1502,7 @@
 -16.585464783743365),
 (3.037591767437904,
 103.82148909928826),
-(-58.888593120491294,
+(-58.88859312049129,
 -4.467774956012632),
 (22.1037148451533,
 223.43225473423266),
@@ -1682,7 +1682,7 @@
  pcbnewDrillOval = True,
  pcbnewDrillOffset = Just (142.10519677233486,
 79.9724685649101)}),
-PcbnewZoneConnect (-11),
+PcbnewZoneConnect (-11097416291),
 PcbnewDrill (PcbnewDrillT {pcbnewDrillSize = Just (36.437032915754564,
 38.74228667551752),
  pcbnewDrillOval = True,
@@ -1697,7 +1697,7 @@
 PcbnewRectDelta (1068.609319873602,
 53.1976300033358),
 PcbnewThermalGap (-58.73301066376941),
-PcbnewZoneConnect (-17),
+PcbnewZoneConnect (-16865534437),
 PcbnewMaskMargin (-637.4176067543789),
 PcbnewRectDelta (-64.50045259753847,
 105.7854129621299),
@@ -1710,7 +1710,7 @@
  pcbnewDrillOval = False,
  pcbnewDrillOffset = Just (-113.64987172165269,
 237.76238348817824)}),
-PcbnewZoneConnect 15,
+PcbnewZoneConnect 14524551152,
 PcbnewMaskMargin 714.3658006005174,
 PcbnewThermalGap (-28.68839450978187),
 PcbnewThermalWidth (-25.5076684031874),
@@ -1796,7 +1796,7 @@
 PcbnewFpLine {itemStart = (-47.45064625382995,
 54.959348109598864),
  itemEnd = (-22.24596014972099,
--1.6018424197341439),
+-1.601842419734144),
  itemLayer = Inner1Cu,
  itemWidth = 4.245403225742823},
 PcbnewFpPoly {fpPolyPts = [(-49.529767675796904,
@@ -1882,7 +1882,7 @@
 13.811819202089023)}),
 PcbnewRectDelta (14.271826805245832,
 -44.2492021739519),
-PcbnewZoneConnect 13,
+PcbnewZoneConnect 12628495959,
 PcbnewPasteMargin (-10.986859164816089),
 PcbnewThermalWidth 96.54163611337778,
 PcbnewDrill (PcbnewDrillT {pcbnewDrillSize = Nothing,
@@ -1932,7 +1932,7 @@
 -22.79332280016767),
 (86.5474404506823,
 -42.32017626934118),
-(-0.11260493915000744,
+(-0.11260493915000745,
 -153.33315784250783),
 (-263.4260432230967,
 39.03731902043095),
@@ -2113,7 +2113,7 @@
  pcbnewDrillOffset = Just (6279.129071677086,
 -4358.269430347548)}),
 PcbnewPasteMargin (-26.504036610343032),
-PcbnewThermalWidth 20.687683471901728,
+PcbnewThermalWidth 20.68768347190173,
 PcbnewPasteMargin (-42.12102590451494),
 PcbnewPasteMarginRatio 2.02239045446662,
 PcbnewDrill (PcbnewDrillT {pcbnewDrillSize = Nothing,

@kasbah
Copy link
Member

kasbah commented Jan 1, 2018

Could you have a go at re-testing this issue when you get a chance? I suspect #13 could have fixed this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants