[PATCH] Support for the source-map in Karma test framework

From: Ashesh Vashi <ashesh(dot)vashi(at)enterprisedb(dot)com>
To: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: [PATCH] Support for the source-map in Karma test framework
Date: 2018-05-30 07:50:56
Message-ID: CAG7mmoykWpyz+GuKR36d9hYmsss7w8vPt0uGQwJAJTqz77MTwQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Hi Team,

Debugging the failed jasmine test-cases is very difficult with the current
implementation.
The stack-traces does not give the correct information as It does not have
source-map support for the original code.
And, that makes it very difficult to debug the issue during development.

Please attached a patch for adding the support for the source-map in the
karma test framework.

I have also attached another patch, which will definitely fail some of the
test-cases to show the stack-traces of the failed cases.

Please find the output of 'yarn run test:karma-once' before applying the
proposed patch as below:

*...*

*HeadlessChrome 0.0.0 (Mac OS X 10.11.6) tree tests TreeNode #hasParent
parent exists returns true FAILED*
* Expected true to be false. at UserContext.<anonymous>
(regression/javascript/tree/tree_spec.js:780:40)HeadlessChrome 0.0.0 (Mac
OS X 10.11.6): Executed 534 of 586 (1 FAILED) (0 secs / 10.361
secs)HeadlessChrome 0.0.0 (Mac OS X 10.11.6) tree tests TreeNode #hasParent
parent exists returns true FAILED Expected true to be false.HeadlessChrome
0.0.0 (Mac OS X 10.11.6) tree tests TreeNode #reload reloads the node and
its children FAILED TypeError: Cannot read property 'fakeFail' of undefined
at TreeFake.addNewNode (regression/javascript/tree/tree_spec.js:237:22)
at TreeFake.addNewNode
(regression/javascript/tree/tree_spec.js:465:116) at
UserContext.<anonymous> (regression/javascript/tree/tree_spec.js:790:14)
TypeError: Cannot read property 'reload' of undefined at
UserContext.<anonymous>
(regression/javascript/tree/tree_spec.js:798:16)HeadlessChrome 0.0.0 (Mac
OS X 10.11.6): Executed 535 of 586 (2 FAILED) (0 secs / 10.365
secs)HeadlessChrome 0.0.0 (Mac OS X 10.11.6) tree tests TreeNode #reload
reloads the node and its children FAILED TypeError: Cannot read property
'fakeFail' of undefined at TreeFake.addNewNode
(regression/javascript/tree/tree_spec.js:237:22) at TreeFake.addNewNode
(regression/javascript/tree/tree_spec.js:465:116) at
UserContext.<anonymous> (regression/javascript/tree/tree_spec.js:790:14)
TypeError: Cannot read property 'reload' of undefined...*

After applying the proposed patch:

*...*
*HeadlessChrome 0.0.0 (Mac OS X 10.11.6) tree tests TreeNode #hasParent
parent exists returns true FAILED*
* Expected true to be false.*
* at UserContext.<anonymous>
(regression/javascript/tree/webpack:/regression/javascript/tree/tree_spec.js:233:40)*
*HeadlessChrome 0.0.0 (Mac OS X 10.11.6): Executed 534 of 586 (1 FAILED) (0
secs / 8.157 secs)*
*HeadlessChrome 0.0.0 (Mac OS X 10.11.6) tree tests TreeNode #hasParent
parent exists returns true FAILED*
* Expected true to be false.*
*HeadlessChrome 0.0.0 (Mac OS X 10.11.6) tree tests TreeNode #reload
reloads the node and its children FAILED*
* TypeError: Cannot read property 'fakeFail' of undefined*
* at TreeFake.addNewNode
(regression/javascript/tree/webpack:/pgadmin/static/js/tree/tree.js:96:18)*
* at TreeFake.addNewNode
(regression/javascript/tree/webpack:/regression/javascript/tree/tree_fake.js:25:5)*
* at UserContext.<anonymous>
(regression/javascript/tree/webpack:/regression/javascript/tree/tree_spec.js:243:14)*
* TypeError: Cannot read property 'reload' of undefined*
* at UserContext.<anonymous>
(regression/javascript/tree/webpack:/regression/javascript/tree/tree_spec.js:252:16)*
*HeadlessChrome 0.0.0 (Mac OS X 10.11.6): Executed 535 of 586 (2 FAILED) (0
secs / 8.179 secs)*
*HeadlessChrome 0.0.0 (Mac OS X 10.11.6) tree tests TreeNode #reload
reloads the node and its children FAILED*
* TypeError: Cannot read property 'fakeFail' of undefined*
* at TreeFake.addNewNode
(regression/javascript/tree/webpack:/pgadmin/static/js/tree/tree.js:96:18)*
* at TreeFake.addNewNode
(regression/javascript/tree/webpack:/regression/javascript/tree/tree_fake.js:25:5)*
* at UserContext.<anonymous>
(regression/javascript/tree/webpack:/regression/javascript/tree/tree_spec.js:243:14)*
* TypeError: Cannot read property 'reload' of undefined*

*...*

As you can see, it gives a lot more relevant information in the stack trace.

Please let me know if you have any objection to the proposed patch.

--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company
<http://www.enterprisedb.com>

*http://www.linkedin.com/in/asheshvashi*
<http://www.linkedin.com/in/asheshvashi>

Attachment Content-Type Size
karma_webpack_source_map_support.patch application/octet-stream 4.5 KB
karma_testcases_expected_to_fail.patch application/octet-stream 1.1 KB

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Murtuza Zabuawala 2018-05-30 13:26:35 [pgAdmin4][Patch#3389] To prevent unwanted model changes in Server dialog
Previous Message Aditya Toshniwal 2018-05-30 07:06:32 Re: [pgAdmin4][RM#3289] Can't query SQL_ASCII database.