Hi On Thu, Jun 13, 2019 at 12:52 PM Akshay Joshi <akshay.jo...@enterprisedb.com> wrote:
> Hi Hackers > > I have implemented the new test framework to test the Reverse Engineering > SQL. I have integrated it as a part of API/Regression test suite. It will > work when we run all the test cases or module wise test case. > > *How it works*: Attached patch contains the generic framework to read all > the JSON files from the *tests->version based (example 9.6_plus, 10_plus > or default) folder. *Run all the test scenarios present in the JSON file > in sequential order. > > Format of the JSON file is mentioned in > "<path_of_source>web/pgadmin/browser/server_groups/servers/databases/casts/tests/default/test.json" > > For expected SQL we will have following two options: > > - Provide the expected sql in scenario itself as parameter *"expected_sql" > : "<SQL>"*. > - Create a output file with any name in the same directory where the > JSON file resides and specify the parameter "*expected_sql_file": > "<name of the file>"* > > Attached patch contains both the above mentioned examples. > > Please review it. > Nice! A few comments: - The scenario name should be "Reverse Engineered SQL Test Cases" - After the scenario name is output, can we output a \n so the next line isn't appended to the name? - How do we run only the re_sql tests? I tried the obvious ways (e.g. python runtests.py --pkg regression.re_sql.tests.test_resql.ReverseEngineeringSQLTestCase) but got errors. Please add an example to web/regression/README. - Once we have a way to run these tests only, please add a "make check-resql" target to the Makefile. - Can the expected output be formatted in the JSON such that it doesn't use \n, but uses regular line breaks? That would make it easier to copy/paste. Thanks. -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company