Hello Neel, You can find attached the corrections of the path's needed for windows. The fix should correct TestExternalTablesView and TestTemplateCreate but for the ChangePasswordTestCase I need more information to help you out. We need to understand what is the response that the endpoint /user_management/user is returning.
Thanks Joao On Tue, Mar 6, 2018 at 2:29 AM Neel Patel <neel.pa...@enterprisedb.com> wrote: > Hi Joao, > > I ran the testsuite in windows 10 with Python 3.4 and it fails for > external tables. Linux it is working fine. Let me know if I miss anything. > > Please check the below logs. > > python runtests.py --pkg browser --exclude feature_tests > > ######## > > ====================================================================== > ERROR: runTest > (pgadmin.browser.server_groups.servers.databases.schemas.tables.tests.test_template_create.TestTemplateCreate) > When rendering GreenPlum 5.3 template, when no distribution is present, > when no primary key is present, it returns "DISTRIBUTED RANDOMLY" > ---------------------------------------------------------------------- > Traceback (most recent call last): > File > "C:\Projects\pgadmin4\web\pgadmin\browser\server_groups\servers\databases\schemas\tables\tests\test_template_create.py", > line 99, in runTest > self.template_path, **self.input_parameters) > File > "C:\Projects\venv_pgadmin4_py_3_4\lib\site-packages\flask\templating.py", > line 133, in render_template > return > _render(ctx.app.jinja_env.get_or_select_template(template_name_or_list), > File > "C:\Projects\venv_pgadmin4_py_3_4\lib\site-packages\jinja2\environment.py", > line 830, in get_or_select_template > return self.get_template(template_name_or_list, parent, globals) > File > "C:\Projects\venv_pgadmin4_py_3_4\lib\site-packages\jinja2\environment.py", > line 791, in get_template > return self._load_template(name, self.make_globals(globals)) > File > "C:\Projects\venv_pgadmin4_py_3_4\lib\site-packages\jinja2\environment.py", > line 765, in _load_template > template = self.loader.load(self, name, globals) > File > "C:\Projects\venv_pgadmin4_py_3_4\lib\site-packages\jinja2\loaders.py", > line 113, in load > source, filename, uptodate = self.get_source(environment, name) > File > "C:\Projects\venv_pgadmin4_py_3_4\lib\site-packages\flask\templating.py", > line 57, in get_source > return self._get_source_fast(environment, template) > File > "C:\Projects\venv_pgadmin4_py_3_4\lib\site-packages\flask\templating.py", > line 85, in _get_source_fast > raise TemplateNotFound(template) > jinja2.exceptions.TemplateNotFound: table\sql\gpdb_5.0_plus\create.sql > > ====================================================================== > ERROR: runTest > (pgadmin.browser.server_groups.servers.databases.schemas.tables.tests.test_template_create.TestTemplateCreate) > When rendering GreenPlum 5.3 template, when no distribution is present, > when primary key is present, it returns "DISTRIBUTED BY (attr_primary_key)" > ---------------------------------------------------------------------- > Traceback (most recent call last): > File > "C:\Projects\pgadmin4\web\pgadmin\browser\server_groups\servers\databases\schemas\tables\tests\test_template_create.py", > line 99, in runTest > self.template_path, **self.input_parameters) > File > "C:\Projects\venv_pgadmin4_py_3_4\lib\site-packages\flask\templating.py", > line 133, in render_template > return > _render(ctx.app.jinja_env.get_or_select_template(template_name_or_list), > File > "C:\Projects\venv_pgadmin4_py_3_4\lib\site-packages\jinja2\environment.py", > line 830, in get_or_select_template > return self.get_template(template_name_or_list, parent, globals) > File > "C:\Projects\venv_pgadmin4_py_3_4\lib\site-packages\jinja2\environment.py", > line 791, in get_template > return self._load_template(name, self.make_globals(globals)) > File > "C:\Projects\venv_pgadmin4_py_3_4\lib\site-packages\jinja2\environment.py", > line 765, in _load_template > template = self.loader.load(self, name, globals) > File > "C:\Projects\venv_pgadmin4_py_3_4\lib\site-packages\jinja2\loaders.py", > line 113, in load > source, filename, uptodate = self.get_source(environment, name) > File > "C:\Projects\venv_pgadmin4_py_3_4\lib\site-packages\flask\templating.py", > line 57, in get_source > return self._get_source_fast(environment, template) > File > "C:\Projects\venv_pgadmin4_py_3_4\lib\site-packages\flask\templating.py", > line 85, in _get_source_fast > raise TemplateNotFound(template) > jinja2.exceptions.TemplateNotFound: table\sql\gpdb_5.0_plus\create.sql > > ====================================================================== > ERROR: runTest > (pgadmin.browser.server_groups.servers.databases.schemas.tables.tests.test_template_create.TestTemplateCreate) > When rendering GreenPlum 5.3 template, when distribution is present, it > returns "DISTRIBUTED BY (attr1, attr2, attr4)" > ---------------------------------------------------------------------- > Traceback (most recent call last): > File > "C:\Projects\pgadmin4\web\pgadmin\browser\server_groups\servers\databases\schemas\tables\tests\test_template_create.py", > line 99, in runTest > self.template_path, **self.input_parameters) > File > "C:\Projects\venv_pgadmin4_py_3_4\lib\site-packages\flask\templating.py", > line 133, in render_template > return > _render(ctx.app.jinja_env.get_or_select_template(template_name_or_list), > File > "C:\Projects\venv_pgadmin4_py_3_4\lib\site-packages\jinja2\environment.py", > line 830, in get_or_select_template > return self.get_template(template_name_or_list, parent, globals) > File > "C:\Projects\venv_pgadmin4_py_3_4\lib\site-packages\jinja2\environment.py", > line 791, in get_template > return self._load_template(name, self.make_globals(globals)) > File > "C:\Projects\venv_pgadmin4_py_3_4\lib\site-packages\jinja2\environment.py", > line 765, in _load_template > template = self.loader.load(self, name, globals) > File > "C:\Projects\venv_pgadmin4_py_3_4\lib\site-packages\jinja2\loaders.py", > line 113, in load > source, filename, uptodate = self.get_source(environment, name) > File > "C:\Projects\venv_pgadmin4_py_3_4\lib\site-packages\flask\templating.py", > line 57, in get_source > return self._get_source_fast(environment, template) > File > "C:\Projects\venv_pgadmin4_py_3_4\lib\site-packages\flask\templating.py", > line 85, in _get_source_fast > raise TemplateNotFound(template) > jinja2.exceptions.TemplateNotFound: table\sql\gpdb_5.0_plus\create.sql > > ====================================================================== > ERROR: runTest > (pgadmin.browser.tests.test_change_password.ChangePasswordTestCase) > TestCase for Changing Valid_Password > ---------------------------------------------------------------------- > Traceback (most recent call last): > File > "C:\Projects\pgadmin4\web\pgadmin\browser\tests\test_change_password.py", > line 91, in runTest > user_id = json.loads(response.data.decode('utf-8'))['id'] > KeyError: 'id' > > ====================================================================== > FAIL: runTest > (pgadmin.browser.server_groups.servers.databases.external_tables.tests.test_external_tables_view.TestExternalTablesView) > #nodes When retrieving the nodes and the database does not have external > tables, it return no child nodes and status 200 > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "C:\Python34\Lib\unittest\mock.py", line 1142, in patched > return func(*args, **keywargs) > File > "C:\Projects\pgadmin4\web\pgadmin\browser\server_groups\servers\databases\external_tables\tests\test_external_tables_view.py", > line 314, in runTest > self.__test_nodes() > File "C:\Python34\Lib\unittest\mock.py", line 1142, in patched > return func(*args, **keywargs) > File > "C:\Projects\pgadmin4\web\pgadmin\browser\server_groups\servers\databases\external_tables\tests\test_external_tables_view.py", > line 367, in __test_nodes > self.expect_render_template_called_with > File "C:\Python34\Lib\unittest\mock.py", line 777, in assert_called_with > raise AssertionError(_error_message()) from cause > AssertionError: Expected call: render_template('sql/#gpdb#80323#/list.sql') > Actual call: render_template('sql/#gpdb#80323#\\list.sql') > > ====================================================================== > FAIL: runTest > (pgadmin.browser.server_groups.servers.databases.external_tables.tests.test_external_tables_view.TestExternalTablesView) > #nodes When retrieving the nodes and an error happens while executing the > query, it return an internal server error and status 500 > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "C:\Python34\Lib\unittest\mock.py", line 1142, in patched > return func(*args, **keywargs) > File > "C:\Projects\pgadmin4\web\pgadmin\browser\server_groups\servers\databases\external_tables\tests\test_external_tables_view.py", > line 314, in runTest > self.__test_nodes() > File "C:\Python34\Lib\unittest\mock.py", line 1142, in patched > return func(*args, **keywargs) > File > "C:\Projects\pgadmin4\web\pgadmin\browser\server_groups\servers\databases\external_tables\tests\test_external_tables_view.py", > line 367, in __test_nodes > self.expect_render_template_called_with > File "C:\Python34\Lib\unittest\mock.py", line 777, in assert_called_with > raise AssertionError(_error_message()) from cause > AssertionError: Expected call: render_template('sql/#gpdb#80323#/list.sql') > Actual call: render_template('sql/#gpdb#80323#\\list.sql') > > ====================================================================== > FAIL: runTest > (pgadmin.browser.server_groups.servers.databases.external_tables.tests.test_external_tables_view.TestExternalTablesView) > #nodes When retrieving the nodes and the database has 2 external tables, > it return 2 child nodes and status 200 > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "C:\Python34\Lib\unittest\mock.py", line 1142, in patched > return func(*args, **keywargs) > File > "C:\Projects\pgadmin4\web\pgadmin\browser\server_groups\servers\databases\external_tables\tests\test_external_tables_view.py", > line 314, in runTest > self.__test_nodes() > File "C:\Python34\Lib\unittest\mock.py", line 1142, in patched > return func(*args, **keywargs) > File > "C:\Projects\pgadmin4\web\pgadmin\browser\server_groups\servers\databases\external_tables\tests\test_external_tables_view.py", > line 367, in __test_nodes > self.expect_render_template_called_with > File "C:\Python34\Lib\unittest\mock.py", line 777, in assert_called_with > raise AssertionError(_error_message()) from cause > AssertionError: Expected call: render_template('sql/#gpdb#80323#/list.sql') > Actual call: render_template('sql/#gpdb#80323#\\list.sql') > > ====================================================================== > FAIL: runTest > (pgadmin.browser.server_groups.servers.databases.external_tables.tests.test_external_tables_view.TestExternalTablesView) > #node When retrieving the information about 1 external table and an error > happens while executing the query, it return an internal server error and > status 500 > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "C:\Python34\Lib\unittest\mock.py", line 1142, in patched > return func(*args, **keywargs) > File > "C:\Projects\pgadmin4\web\pgadmin\browser\server_groups\servers\databases\external_tables\tests\test_external_tables_view.py", > line 316, in runTest > self.__test_node() > File "C:\Python34\Lib\unittest\mock.py", line 1142, in patched > return func(*args, **keywargs) > File > "C:\Projects\pgadmin4\web\pgadmin\browser\server_groups\servers\databases\external_tables\tests\test_external_tables_view.py", > line 393, in __test_node > **self.expect_render_template_called_with > File "C:\Python34\Lib\unittest\mock.py", line 777, in assert_called_with > raise AssertionError(_error_message()) from cause > AssertionError: Expected call: render_template(external_table_id=11, > template_name_or_list='sql/#gpdb#80323#/node.sql') > Actual call: render_template(external_table_id=11, > template_name_or_list='sql/#gpdb#80323#\\node.sql') > > ====================================================================== > FAIL: runTest > (pgadmin.browser.server_groups.servers.databases.external_tables.tests.test_external_tables_view.TestExternalTablesView) > #node When retrieving the information about 1 external table and table > does not exist, it return an error message and status 404 > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "C:\Python34\Lib\unittest\mock.py", line 1142, in patched > return func(*args, **keywargs) > File > "C:\Projects\pgadmin4\web\pgadmin\browser\server_groups\servers\databases\external_tables\tests\test_external_tables_view.py", > line 316, in runTest > self.__test_node() > File "C:\Python34\Lib\unittest\mock.py", line 1142, in patched > return func(*args, **keywargs) > File > "C:\Projects\pgadmin4\web\pgadmin\browser\server_groups\servers\databases\external_tables\tests\test_external_tables_view.py", > line 393, in __test_node > **self.expect_render_template_called_with > File "C:\Python34\Lib\unittest\mock.py", line 777, in assert_called_with > raise AssertionError(_error_message()) from cause > AssertionError: Expected call: render_template(external_table_id=11, > template_name_or_list='sql/#gpdb#80323#/node.sql') > Actual call: render_template(external_table_id=11, > template_name_or_list='sql/#gpdb#80323#\\node.sql') > > ====================================================================== > FAIL: runTest > (pgadmin.browser.server_groups.servers.databases.external_tables.tests.test_external_tables_view.TestExternalTablesView) > #nodes When retrieving the information about 1 external table and the > table exists, it return external node information and status 200 > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "C:\Python34\Lib\unittest\mock.py", line 1142, in patched > return func(*args, **keywargs) > File > "C:\Projects\pgadmin4\web\pgadmin\browser\server_groups\servers\databases\external_tables\tests\test_external_tables_view.py", > line 316, in runTest > self.__test_node() > File "C:\Python34\Lib\unittest\mock.py", line 1142, in patched > return func(*args, **keywargs) > File > "C:\Projects\pgadmin4\web\pgadmin\browser\server_groups\servers\databases\external_tables\tests\test_external_tables_view.py", > line 393, in __test_node > **self.expect_render_template_called_with > File "C:\Python34\Lib\unittest\mock.py", line 777, in assert_called_with > raise AssertionError(_error_message()) from cause > AssertionError: Expected call: render_template(external_table_id=11, > template_name_or_list='sql/#gpdb#80323#/node.sql') > Actual call: render_template(external_table_id=11, > template_name_or_list='sql/#gpdb#80323#\\node.sql') > > ====================================================================== > FAIL: runTest > (pgadmin.browser.server_groups.servers.databases.external_tables.tests.test_external_tables_view.TestExternalTablesView) > #properties When retrieving the properties of a external table and the > table exists, it return the properties and status 200 > ---------------------------------------------------------------------- > Traceback (most recent call last): > File "C:\Python34\Lib\unittest\mock.py", line 1142, in patched > return func(*args, **keywargs) > File > "C:\Projects\pgadmin4\web\pgadmin\browser\server_groups\servers\databases\external_tables\tests\test_external_tables_view.py", > line 320, in runTest > self.__test_properties() > File "C:\Python34\Lib\unittest\mock.py", line 1142, in patched > return func(*args, **keywargs) > File > "C:\Projects\pgadmin4\web\pgadmin\browser\server_groups\servers\databases\external_tables\tests\test_external_tables_view.py", > line 419, in __test_properties > **self.expect_render_template_called_with > File "C:\Python34\Lib\unittest\mock.py", line 777, in assert_called_with > raise AssertionError(_error_message()) from cause > AssertionError: Expected call: > render_template(template_name_or_list='sql/#gpdb#80323#/get_table_information.sql', > table_oid=11) > Actual call: > render_template(template_name_or_list='sql/#gpdb#80323#\\get_table_information.sql', > table_oid=11) > > ---------------------------------------------------------------------- > Ran 256 tests in 77.123s > > FAILED (failures=7, errors=4, skipped=25) > > ====================================================================== > Test Result Summary > ====================================================================== > > PostgreSQL 9.6: > > 234 tests passed > 3 tests failed: > TestExternalTablesView (#node When retrieving the > information about 1 external table and table does not exist, it return an > error message and status 404, > #node When retrieving the > information about 1 external table and an error happens while executing the > query, it return an internal server error and status 500, > #nodes When retrieving the nodes > and the database has 2 external tables, it return 2 child nodes and status > 200, > #nodes When retrieving the > information about 1 external table and the table exists, it return external > node information and status 200, > #nodes When retrieving the nodes > and an error happens while executing the query, it return an internal > server error and status 500, > #properties When retrieving the > properties of a external table and the table exists, it return the > properties and status 200, > #nodes When retrieving the nodes > and the database does not have external tables, it return no child nodes > and status 200) > ChangePasswordTestCase (TestCase for Changing > Valid_Password) > TestTemplateCreate (When rendering GreenPlum 5.3 template, > when no distribution is present, when no primary key is present, it returns > "DISTRIBUTED RANDOMLY", > When rendering GreenPlum 5.3 > template, when distribution is present, it returns "DISTRIBUTED BY (attr1, > attr2, attr4)", > When rendering GreenPlum 5.3 > template, when no distribution is present, when primary key is present, it > returns "DISTRIBUTED BY (attr_primary_key)") > 19 tests skipped: > ResourceGroupsGetTestCase (Get resource groups) > TableSpaceDeleteTestCase (Check Tablespace Node) > ResourceGroupsDeleteTestCase (Delete resource groups) > SynonymDeleteTestCase (Fetch synonym Node URL) > TestSSLConnection (Test for SSL connection) > PackageAddTestCase (Fetch Package Node URL) > SynonymPutTestCase (Fetch synonym Node URL) > TablespaceGetTestCase (Check Tablespace Node) > SynonymAddTestCase (Default Node URL) > PackagePutTestCase (Fetch Package Node URL) > TableAddTestCase (Create Range partitioned table with 2 > partitions, > Create List partitioned table with > 2 partitions) > PackageGetTestCase (Fetch Package Node URL) > PackageDeleteTestCase (Fetch Package Node URL) > TableSpaceAddTestCase (Check Tablespace Node) > ResourceGroupsAddTestCase (Add resource groups) > SynonymGetTestCase (Fetch synonym Node URL) > ResourceGroupsPutTestCase (Put resource groups) > TableSpaceUpdateTestCase (Check Tablespace Node) > TableUpdateTestCase (Attach partition to existing range > partitioned table, > Detach partition from existing > range partitioned table, > Create partitions of existing > range partitioned table, > Detach partition from existing > list partitioned table, > Create partitions of existing list > partitioned table, > Attach partition to existing list > partitioned table) > > ====================================================================== > > ######## > > > Thanks, > Neel Patel > > On Fri, Mar 2, 2018 at 10:19 PM, Dave Page <dp...@pgadmin.org> wrote: > >> Support for external tables in GPDB. Fixes #3168 >> >> Branch >> ------ >> master >> >> Details >> ------- >> >> https://git.postgresql.org/gitweb?p=pgadmin4.git;a=commitdiff;h=427314cfdfeb96c3a7835eab5a4d638903bc6dc3 >> Author: Joao Pedro De Almeida Pereira <jdealmeidapere...@pivotal.io> >> >> Modified Files >> -------------- >> .../servers/databases/external_tables/__init__.py | 275 +++++++++++++ >> .../databases/external_tables/actions/__init__.py | 0 >> .../external_tables/actions/get_all_nodes.py | 4 + >> .../databases/external_tables/mapping_utils.py | 165 ++++++++ >> .../databases/external_tables/properties.py | 78 ++++ >> .../external_tables/reverse_engineer_ddl.py | 69 ++++ >> .../static/img/coll-external_table.svg | 1 + >> .../external_tables/static/img/external_table.svg | 1 + >> .../templates/sql/gpdb_5.0_plus/create.sql | 60 +++ >> .../templates/sql/gpdb_5.0_plus/get_columns.sql | 12 + >> .../sql/gpdb_5.0_plus/get_table_information.sql | 22 ++ >> .../templates/sql/gpdb_5.0_plus/list.sql | 6 + >> .../templates/sql/gpdb_5.0_plus/node.sql | 5 + >> .../databases/external_tables/tests/__init__.py | 0 >> .../tests/test_external_tables_module.py | 99 +++++ >> .../tests/test_external_tables_view.py | 428 >> +++++++++++++++++++++ >> .../external_tables/tests/test_mapping_utils.py | 375 >> ++++++++++++++++++ >> .../external_tables/tests/test_properties.py | 156 ++++++++ >> .../tests/test_reverse_engineer_ddl.py | 261 +++++++++++++ >> .../tests/test_sql_template_create_integration.py | 0 >> .../templates/table/sql/gpdb_5.0_plus/nodes.sql | 1 + >> web/pgadmin/static/bundle/browser.js | 1 + >> .../databases/external_tables/external_tables.js | 88 +++++ >> .../servers/databases/external_tables/index.js | 18 + >> web/pgadmin/tools/sqleditor/__init__.py | 1 + >> .../external_tables/external_tables_spec.js | 56 +++ >> web/webpack.config.js | 9 + >> web/webpack.shim.js | 3 + >> 28 files changed, 2194 insertions(+) >> >> >
diff --git a/web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_external_tables_view.py b/web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_external_tables_view.py index acedc61b..3f08e40e 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_external_tables_view.py +++ b/web/pgadmin/browser/server_groups/servers/databases/external_tables/tests/test_external_tables_view.py @@ -7,6 +7,7 @@ # ########################################################################## +import os import sys from pgadmin.browser.server_groups.servers.databases.external_tables import \ @@ -68,7 +69,9 @@ class TestExternalTablesView(BaseTestGenerator): connection=MagicMock(execute_2darray=MagicMock()), execute_2darray_return_value=(True, dict(rows=[])), - expect_render_template_called_with='sql/#gpdb#80323#/list.sql', + expect_render_template_called_with=os.path.join('sql', + '#gpdb#80323#' + , 'list.sql'), expected_make_json_response_called_with=dict( data=[], status=200 @@ -90,7 +93,9 @@ class TestExternalTablesView(BaseTestGenerator): connection=MagicMock(execute_2darray=MagicMock()), execute_2darray_return_value=(False, 'Some error message'), - expect_render_template_called_with='sql/#gpdb#80323#/list.sql', + expect_render_template_called_with=os.path.join('sql', + '#gpdb#80323#', + 'list.sql'), expected_internal_server_error_called_with=dict( errormsg='Some error message' ), @@ -122,7 +127,9 @@ class TestExternalTablesView(BaseTestGenerator): ] )), - expect_render_template_called_with='sql/#gpdb#80323#/list.sql', + expect_render_template_called_with=os.path.join('sql', + '#gpdb#80323#', + 'list.sql'), expected_make_json_response_called_with=dict( data=[ { @@ -167,7 +174,9 @@ class TestExternalTablesView(BaseTestGenerator): execute_2darray_return_value=(False, 'Some error message'), expect_render_template_called_with=dict( - template_name_or_list='sql/#gpdb#80323#/node.sql', + template_name_or_list=os.path.join('sql', + '#gpdb#80323#', + 'node.sql'), external_table_id=11 ), expected_internal_server_error_called_with=dict( @@ -192,7 +201,9 @@ class TestExternalTablesView(BaseTestGenerator): execute_2darray_return_value=(True, dict(rows=[])), expect_render_template_called_with=dict( - template_name_or_list='sql/#gpdb#80323#/node.sql', + template_name_or_list=os.path.join('sql', + '#gpdb#80323#', + 'node.sql'), external_table_id=11 ), expected_make_json_response_called_with=dict( @@ -229,7 +240,9 @@ class TestExternalTablesView(BaseTestGenerator): )), expect_render_template_called_with=dict( - template_name_or_list='sql/#gpdb#80323#/node.sql', + template_name_or_list=os.path.join('sql', + '#gpdb#80323#', + 'node.sql'), external_table_id=11 ), expected_make_json_response_called_with=dict( @@ -283,8 +296,11 @@ class TestExternalTablesView(BaseTestGenerator): )), expect_render_template_called_with=dict( - template_name_or_list='sql/#gpdb#80323#/' - 'get_table_information.sql', + template_name_or_list=os.path.join( + 'sql', + '#gpdb#80323#', + 'get_table_information.sql' + ), table_oid=11 ), expected_make_response_called_with=dict( diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/tests/test_template_create.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/tests/test_template_create.py index 25d58925..cd765aaf 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/tests/test_template_create.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/tests/test_template_create.py @@ -117,20 +117,26 @@ class FakeApp(Flask): self.jinja_env.filters['qtTypeIdent'] = driver.qtTypeIdent self.jinja_loader = ChoiceLoader([ FileSystemLoader( - os.path.dirname( - os.path.realpath(__file__)) + '/../templates/' + os.path.join(os.path.dirname( + os.path.realpath(__file__) + ), os.pardir, 'templates') ), FileSystemLoader( - os.path.dirname( - os.path.realpath(__file__)) + '/../../templates/' + os.path.join( + os.path.dirname( + os.path.realpath(__file__) + ), os.pardir, os.pardir, 'templates') ), FileSystemLoader( - os.path.dirname( - os.path.realpath(__file__)) + '/../../types/templates/' + os.path.join(os.path.dirname( + os.path.realpath(__file__)) + , os.pardir, os.pardir, 'types', 'templates') ), FileSystemLoader( - os.path.dirname( - os.path.realpath(__file__)) + '/../../../../templates/' + os.path.join(os.path.dirname( + os.path.realpath(__file__)) + , os.pardir, os.pardir, os.pardir, os.pardir, + 'templates') ), ] )