[PATCH] Support for the source-map in Karma test framework - Mailing list pgadmin-hackers

From Ashesh Vashi
Subject [PATCH] Support for the source-map in Karma test framework
Date
Msg-id CAG7mmoykWpyz+GuKR36d9hYmsss7w8vPt0uGQwJAJTqz77MTwQ@mail.gmail.com
Whole thread Raw
Responses Re: [PATCH] Support for the source-map in Karma test framework  (Joao De Almeida Pereira <jdealmeidapereira@pivotal.io>)
Re: [PATCH] Support for the source-map in Karma test framework  (Dave Page <dpage@pgadmin.org>)
List 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.linkedin.com/in/asheshvashi

Attachment

pgadmin-hackers by date:

Previous
From: Aditya Toshniwal
Date:
Subject: Re: [pgAdmin4][RM#3289] Can't query SQL_ASCII database.
Next
From: Murtuza Zabuawala
Date:
Subject: [pgAdmin4][Patch#3389] To prevent unwanted model changes in Server dialog