{ "id": "159080", "key": "ALOY-1476", "fields": { "issuetype": { "id": "7", "description": "gh.issue.story.desc", "name": "Story", "subtask": false }, "project": { "id": "11113", "key": "ALOY", "name": "Alloy", "projectCategory": { "id": "10400", "description": "Tools for developing applications", "name": "Tooling" } }, "fixVersions": [ { "id": "17997", "name": "alloy 1.8.3", "archived": false, "released": true, "releaseDate": "2016-03-28" }, { "id": "18001", "name": "Release 5.2.2", "archived": false, "released": true, "releaseDate": "2016-06-28" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2016-03-28T16:25:35.000+0000", "created": "2016-03-28T11:42:10.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [ { "id": "17992", "name": "alloy 1.8.2", "archived": false, "released": true, "releaseDate": "2016-03-24" } ], "issuelinks": [ { "id": "51163", "type": { "id": "10011", "name": "Includes", "inward": "is included by", "outward": "includes" }, "inwardIssue": { "id": "159079", "key": "ALOY-1475", "fields": { "summary": "Alloy compile tests should show diff with known good generated code", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "7", "description": "gh.issue.story.desc", "name": "Story", "subtask": false } } } } ], "assignee": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "updated": "2016-04-05T23:12:49.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "13606", "name": "Testing" } ], "description": "While working on ALOY-1474 and local tests I ran into 355 failures to match against known good generated code, while Travis didn't fail at all.\r\n\r\nAfter submitting https://github.com/appcelerator/alloy/pull/775 I noticed Travis logs don't mention the tests against the known good generated code at all:\r\n\r\n{code}\r\n[PASS] alloy compile advanced/device_query --> preparing test app\r\n[PASS] alloy compile advanced/device_query [android] --> compiles without critical error\r\n[PASS] alloy compile advanced/device_query [android] --> leaves no compiler directives in generated code\r\n[PASS] alloy compile advanced/device_query [android] --> has no undefined style entries\r\n[PASS] alloy compile advanced/device_query [ios] --> compiles without critical error\r\n[PASS] alloy compile advanced/device_query [ios] --> leaves no compiler directives in generated code\r\n[PASS] alloy compile advanced/device_query [ios] --> has no undefined style entries\r\n[PASS] alloy compile advanced/device_query [mobileweb] --> compiles without critical error\r\n[PASS] alloy compile advanced/device_query [mobileweb] --> leaves no compiler directives in generated code\r\n[PASS] alloy compile advanced/device_query [mobileweb] --> has no undefined style entries\r\n{code}\r\n\r\nwhile locally it fails:\r\n\r\n{code}\r\n[PASS] alloy compile advanced/device_query --> preparing test app\r\n[PASS] alloy compile advanced/device_query [android] --> compiles without critical error\r\n[PASS] alloy compile advanced/device_query [android] --> leaves no compiler directives in generated code\r\n[PASS] alloy compile advanced/device_query [android] --> has no undefined style entries\r\n[PASS] alloy compile advanced/device_query [android] --> generated a alloy/controllers/index.js file\r\n[FAIL] alloy compile advanced/device_query [android] --> matches known good generated code for alloy/controllers/index.js\r\n[PASS] alloy compile advanced/device_query [ios] --> compiles without critical error\r\n[PASS] alloy compile advanced/device_query [ios] --> leaves no compiler directives in generated code\r\n[PASS] alloy compile advanced/device_query [ios] --> has no undefined style entries\r\n[PASS] alloy compile advanced/device_query [ios] --> generated a alloy/controllers/index.js file\r\n[FAIL] alloy compile advanced/device_query [ios] --> matches known good generated code for alloy/controllers/index.js\r\n[PASS] alloy compile advanced/device_query [mobileweb] --> compiles without critical error\r\n[PASS] alloy compile advanced/device_query [mobileweb] --> leaves no compiler directives in generated code\r\n[PASS] alloy compile advanced/device_query [mobileweb] --> has no undefined style entries\r\n[PASS] alloy compile advanced/device_query [mobileweb] --> generated a alloy/controllers/index.js file\r\n[FAIL] alloy compile advanced/device_query [mobileweb] --> matches known good generated code for alloy/controllers/index.js\r\n{code}\r\n\r\nI also saw this test only runs on darwin:\r\nhttps://github.com/appcelerator/alloy/blob/master/test/specs/compile.js#L173\r\n\r\nWe don't specify an OS:\r\nhttps://github.com/appcelerator/alloy/blob/master/.travis.yml\r\n\r\nWhich seems to make Travis to only test on Linux:\r\nhttps://travis-ci.org/appcelerator/alloy/builds/118954721\r\n\r\nUnfortunately enabling osx on Travis fails:\r\nhttps://travis-ci.org/appcelerator/alloy/jobs/118956715\r\n\r\nBecause of:\r\nhttps://github.com/travis-ci/travis-ci/issues/2311\r\n\r\nWhich can be workaround like:\r\nhttps://github.com/travis-ci/travis-ci/issues/2311#issuecomment-171180704\r\n\r\nWhich I did:\r\nhttps://github.com/appcelerator/alloy/pull/775/files#diff-354f30a63fb0907d4ad57269548329e3L1\r\n\r\nAnd now Travis is failing 355 tests on OSX just like local:\r\nhttps://travis-ci.org/appcelerator/alloy/builds/118959856\r\n\r\nI've checked all 355 failures and all were expected because of tests that were not updated for tickets like ALOY-1355, ALOY-1237 and ALOY-1335, so generated new known good code for all.", "attachment": [], "flagged": false, "summary": "Travis does not test against known good generated code because it targets Linux only", "creator": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "subtasks": [], "reporter": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "environment": null, "closedSprints": [ { "id": 615, "state": "closed", "name": "2016 Sprint 07 Tooling", "startDate": "2016-03-26T00:40:48.770Z", "endDate": "2016-04-09T00:40:00.000Z", "completeDate": "2016-04-11T04:48:57.781Z", "originBoardId": 121 } ], "comment": { "comments": [ { "id": "380783", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "Included this fix in https://github.com/appcelerator/alloy/pull/775 for ALOY-1475", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-03-28T11:49:48.000+0000", "updated": "2016-03-28T13:13:55.000+0000" }, { "id": "380804", "author": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "body": "PR merged.", "updateAuthor": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "created": "2016-03-28T16:25:35.000+0000", "updated": "2016-03-28T16:25:35.000+0000" }, { "id": "380812", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "[~cng] we are already at 1.8.2 - this would be 1.8.3", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-03-28T16:44:53.000+0000", "updated": "2016-03-28T16:44:53.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }