I get the following errors when trying to run the feature tests on an M1 Mac, with Python 3.8 through 3.11. The Python 3.9 failure seems to be a known issue with eventlet (though, our tests should still be able to run), and whilst the others can be fixed with the strategic addition of a .decode('UTF-8'), it does beg the question "how do these tests pass on our buildfarm".
Yogesh, can you take a look please? ############ ~/git/pgadmin4/web % workon pgadmin4-py38 ~/git/pgadmin4/web % python regression/runtests.py --pkg feature_tests 2023-05-10 12:49:05,666: INFO pgadmin: ######################################################## 2023-05-10 12:49:05,666: INFO pgadmin: Starting pgAdmin 4 v7.1... 2023-05-10 12:49:05,666: INFO pgadmin: ######################################################## 2023-05-10 12:49:05,666: DEBUG pgadmin: Python syspath: ['/Users/dpage/git/pgadmin4/web/regression', '/Users/dpage/git/pgadmin4/web', '/Users/dpage/git/pgadmin4/web/regression', '/Library/Frameworks/Python.framework/Versions/3.8/lib/python38.zip', '/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8', '/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/lib-dynload', '/Users/dpage/.virtualenvs/pgadmin4-py38/lib/python3.8/site-packages'] NOTE: Configuring authentication for SERVER mode. 2023-05-10 12:49:06,738: INFO pgadmin: Registering blueprint module: <AboutModule 'about'> 2023-05-10 12:49:06,739: INFO pgadmin: Registering blueprint module: <AuthenticateModule 'authenticate'> 2023-05-10 12:49:06,740: INFO pgadmin: Registering blueprint module: <BrowserModule 'browser'> 2023-05-10 12:49:07,662: INFO pgadmin: Registering blueprint module: <DashboardModule 'dashboard'> 2023-05-10 12:49:07,668: INFO pgadmin: Registering blueprint module: <DashboardModule 'dashboard'> 2023-05-10 12:49:07,668: INFO pgadmin: Registering blueprint module: <HelpModule 'help'> 2023-05-10 12:49:07,668: INFO pgadmin: Registering blueprint module: <MiscModule 'misc'> 2023-05-10 12:49:08,769: INFO pgadmin: Registering blueprint module: <PreferencesModule 'preferences'> 2023-05-10 12:49:08,771: INFO pgadmin: Registering blueprint module: <PgAdminModule 'redirects'> 2023-05-10 12:49:08,771: INFO pgadmin: Registering blueprint module: <SettingsModule 'settings'> 2023-05-10 12:49:08,774: INFO pgadmin: Registering blueprint module: <ToolsModule 'tools'> pgAdmin 4 - Application Initialisation ====================================== Starting pgAdmin 4. Please navigate to http://127.0.0.1:34575 in your browser. * Serving Flask app 'pgadmin' * Debug mode: off =============Running the test cases for 'PostgreSQL 15' ============= Traceback (most recent call last): File "regression/runtests.py", line 486, in execute_test test_utils.create_parent_server_node(server_passed) File "/Users/dpage/git/pgadmin4/web/regression/python_test_utils/test_utils.py", line 691, in create_parent_server_node srv_id = create_server(server_info) File "/Users/dpage/git/pgadmin4/web/regression/python_test_utils/test_utils.py", line 634, in create_server server['type'] = get_server_type(server) File "/Users/dpage/git/pgadmin4/web/regression/python_test_utils/test_utils.py", line 1189, in get_server_type if "EnterpriseDB" in version_string: TypeError: a bytes-like object is required, not 'str' a bytes-like object is required, not 'str' Exception in 6208811008 Thread-3 =============Completed the test cases for 'PostgreSQL 15'============= ====================================================================== Test Result Summary ====================================================================== ====================================================================== Please check output in file: /Users/dpage/git/pgadmin4/web/regression/regression.log ~/git/pgadmin4/web % workon pgadmin4-py39 ~/git/pgadmin4/web % python regression/runtests.py --pkg feature_tests 2023-05-10 12:49:30,701: INFO pgadmin: ######################################################## 2023-05-10 12:49:30,701: INFO pgadmin: Starting pgAdmin 4 v7.1... 2023-05-10 12:49:30,701: INFO pgadmin: ######################################################## 2023-05-10 12:49:30,701: DEBUG pgadmin: Python syspath: ['/Users/dpage/git/pgadmin4/web/regression', '/Users/dpage/git/pgadmin4/web', '/Users/dpage/git/pgadmin4/web/regression', '/Library/Frameworks/Python.framework/Versions/3.9/lib/python39.zip', '/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9', '/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/lib-dynload', '/Users/dpage/.virtualenvs/pgadmin4-py39/lib/python3.9/site-packages'] NOTE: Configuring authentication for SERVER mode. 2023-05-10 12:49:31,591: INFO pgadmin: Registering blueprint module: <AboutModule 'about'> 2023-05-10 12:49:31,592: INFO pgadmin: Registering blueprint module: <AuthenticateModule 'authenticate'> 2023-05-10 12:49:31,593: INFO pgadmin: Registering blueprint module: <BrowserModule 'browser'> 2023-05-10 12:49:32,297: INFO pgadmin: Registering blueprint module: <DashboardModule 'dashboard'> 2023-05-10 12:49:32,303: INFO pgadmin: Registering blueprint module: <DashboardModule 'dashboard'> 2023-05-10 12:49:32,303: INFO pgadmin: Registering blueprint module: <HelpModule 'help'> 2023-05-10 12:49:32,304: INFO pgadmin: Registering blueprint module: <MiscModule 'misc'> 2023-05-10 12:49:33,355: INFO pgadmin: Registering blueprint module: <PreferencesModule 'preferences'> 2023-05-10 12:49:33,357: INFO pgadmin: Registering blueprint module: <PgAdminModule 'redirects'> 2023-05-10 12:49:33,358: INFO pgadmin: Registering blueprint module: <SettingsModule 'settings'> 2023-05-10 12:49:33,361: INFO pgadmin: Registering blueprint module: <ToolsModule 'tools'> pgAdmin 4 - Application Initialisation ====================================== Starting pgAdmin 4. Please navigate to http://127.0.0.1:49511 in your browser. * Serving Flask app 'pgadmin' * Debug mode: off =============Running the test cases for 'PostgreSQL 15' ============= Traceback (most recent call last): File "/Users/dpage/git/pgadmin4/web/regression/runtests.py", line 486, in execute_test test_utils.create_parent_server_node(server_passed) File "/Users/dpage/git/pgadmin4/web/regression/python_test_utils/test_utils.py", line 691, in create_parent_server_node srv_id = create_server(server_info) File "/Users/dpage/git/pgadmin4/web/regression/python_test_utils/test_utils.py", line 634, in create_server server['type'] = get_server_type(server) File "/Users/dpage/git/pgadmin4/web/regression/python_test_utils/test_utils.py", line 1172, in get_server_type connection = get_db_connection( File "/Users/dpage/git/pgadmin4/web/regression/python_test_utils/test_utils.py", line 55, in get_db_connection connection = psycopg.connect( File "/Users/dpage/.virtualenvs/pgadmin4-py39/lib/python3.9/site-packages/psycopg/connection.py", line 723, in connect rv = cls._wait_conn( File "/Users/dpage/.virtualenvs/pgadmin4-py39/lib/python3.9/site-packages/psycopg/connection.py", line 972, in _wait_conn return waiting.wait_conn(gen, timeout=timeout) File "/Users/dpage/.virtualenvs/pgadmin4-py39/lib/python3.9/site-packages/psycopg/waiting.py", line 86, in wait_conn sel.register(fileno, s) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/selectors.py", line 527, in register self._selector.control([kev], 0, 0) TypeError: changelist must be an iterable of select.kevent objects changelist must be an iterable of select.kevent objects Exception in 6213283840 Thread-3 =============Completed the test cases for 'PostgreSQL 15'============= ====================================================================== Test Result Summary ====================================================================== ====================================================================== Please check output in file: /Users/dpage/git/pgadmin4/web/regression/regression.log ~/git/pgadmin4/web % workon pgadmin4-py310 ~/git/pgadmin4/web % python regression/runtests.py --pkg feature_tests 2023-05-10 12:49:51,253: INFO pgadmin: ######################################################## 2023-05-10 12:49:51,254: INFO pgadmin: Starting pgAdmin 4 v7.1... 2023-05-10 12:49:51,254: INFO pgadmin: ######################################################## 2023-05-10 12:49:51,254: DEBUG pgadmin: Python syspath: ['/Users/dpage/git/pgadmin4/web/regression', '/Users/dpage/git/pgadmin4/web', '/Users/dpage/git/pgadmin4/web/regression', '/Library/Frameworks/Python.framework/Versions/3.10/lib/python310.zip', '/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10', '/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload', '/Users/dpage/.virtualenvs/pgadmin4-py310/lib/python3.10/site-packages'] NOTE: Configuring authentication for SERVER mode. 2023-05-10 12:49:52,218: INFO pgadmin: Registering blueprint module: <AboutModule 'about'> 2023-05-10 12:49:52,219: INFO pgadmin: Registering blueprint module: <AuthenticateModule 'authenticate'> 2023-05-10 12:49:52,219: INFO pgadmin: Registering blueprint module: <BrowserModule 'browser'> 2023-05-10 12:49:52,912: INFO pgadmin: Registering blueprint module: <DashboardModule 'dashboard'> 2023-05-10 12:49:52,916: INFO pgadmin: Registering blueprint module: <DashboardModule 'dashboard'> 2023-05-10 12:49:52,917: INFO pgadmin: Registering blueprint module: <HelpModule 'help'> 2023-05-10 12:49:52,917: INFO pgadmin: Registering blueprint module: <MiscModule 'misc'> 2023-05-10 12:49:54,010: INFO pgadmin: Registering blueprint module: <PreferencesModule 'preferences'> 2023-05-10 12:49:54,012: INFO pgadmin: Registering blueprint module: <PgAdminModule 'redirects'> 2023-05-10 12:49:54,012: INFO pgadmin: Registering blueprint module: <SettingsModule 'settings'> 2023-05-10 12:49:54,015: INFO pgadmin: Registering blueprint module: <ToolsModule 'tools'> pgAdmin 4 - Application Initialisation ====================================== Starting pgAdmin 4. Please navigate to http://127.0.0.1:53161 in your browser. * Serving Flask app 'pgadmin' * Debug mode: off =============Running the test cases for 'PostgreSQL 15' ============= Traceback (most recent call last): File "/Users/dpage/git/pgadmin4/web/regression/runtests.py", line 486, in execute_test test_utils.create_parent_server_node(server_passed) File "/Users/dpage/git/pgadmin4/web/regression/python_test_utils/test_utils.py", line 691, in create_parent_server_node srv_id = create_server(server_info) File "/Users/dpage/git/pgadmin4/web/regression/python_test_utils/test_utils.py", line 634, in create_server server['type'] = get_server_type(server) File "/Users/dpage/git/pgadmin4/web/regression/python_test_utils/test_utils.py", line 1189, in get_server_type if "EnterpriseDB" in version_string: TypeError: a bytes-like object is required, not 'str' a bytes-like object is required, not 'str' Exception in 6139408384 Thread-3 (execute_test) =============Completed the test cases for 'PostgreSQL 15'============= ====================================================================== Test Result Summary ====================================================================== ====================================================================== Please check output in file: /Users/dpage/git/pgadmin4/web/regression/regression.log ~/git/pgadmin4/web % workon pgadmin4-py311 ~/git/pgadmin4/web % python regression/runtests.py --pkg feature_tests 2023-05-10 12:50:21,962: INFO pgadmin: ######################################################## 2023-05-10 12:50:21,963: INFO pgadmin: Starting pgAdmin 4 v7.1... 2023-05-10 12:50:21,963: INFO pgadmin: ######################################################## 2023-05-10 12:50:21,963: DEBUG pgadmin: Python syspath: ['/Users/dpage/git/pgadmin4/web/regression', '/Users/dpage/git/pgadmin4/web', '/Users/dpage/git/pgadmin4/web/regression', '/Library/Frameworks/Python.framework/Versions/3.11/lib/python311.zip', '/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11', '/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/lib-dynload', '/Users/dpage/.virtualenvs/pgadmin4-py311/lib/python3.11/site-packages'] NOTE: Configuring authentication for SERVER mode. 2023-05-10 12:50:22,483: INFO pgadmin: Registering blueprint module: <AboutModule 'about'> 2023-05-10 12:50:22,484: INFO pgadmin: Registering blueprint module: <AuthenticateModule 'authenticate'> 2023-05-10 12:50:22,484: INFO pgadmin: Registering blueprint module: <BrowserModule 'browser'> 2023-05-10 12:50:22,947: INFO pgadmin: Registering blueprint module: <DashboardModule 'dashboard'> 2023-05-10 12:50:22,951: INFO pgadmin: Registering blueprint module: <DashboardModule 'dashboard'> 2023-05-10 12:50:22,951: INFO pgadmin: Registering blueprint module: <HelpModule 'help'> 2023-05-10 12:50:22,951: INFO pgadmin: Registering blueprint module: <MiscModule 'misc'> 2023-05-10 12:50:23,568: INFO pgadmin: Registering blueprint module: <PreferencesModule 'preferences'> 2023-05-10 12:50:23,569: INFO pgadmin: Registering blueprint module: <PgAdminModule 'redirects'> 2023-05-10 12:50:23,570: INFO pgadmin: Registering blueprint module: <SettingsModule 'settings'> 2023-05-10 12:50:23,571: INFO pgadmin: Registering blueprint module: <ToolsModule 'tools'> pgAdmin 4 - Application Initialisation ====================================== Starting pgAdmin 4. Please navigate to http://127.0.0.1:30355 in your browser. * Serving Flask app 'pgadmin' * Debug mode: off =============Running the test cases for 'PostgreSQL 15' ============= Traceback (most recent call last): File "/Users/dpage/git/pgadmin4/web/regression/runtests.py", line 486, in execute_test test_utils.create_parent_server_node(server_passed) File "/Users/dpage/git/pgadmin4/web/regression/python_test_utils/test_utils.py", line 691, in create_parent_server_node srv_id = create_server(server_info) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/dpage/git/pgadmin4/web/regression/python_test_utils/test_utils.py", line 634, in create_server server['type'] = get_server_type(server) ^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/dpage/git/pgadmin4/web/regression/python_test_utils/test_utils.py", line 1189, in get_server_type if "EnterpriseDB" in version_string: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: a bytes-like object is required, not 'str' a bytes-like object is required, not 'str' Exception in 6212005888 Thread-3 (execute_test) =============Completed the test cases for 'PostgreSQL 15'============= ====================================================================== Test Result Summary ====================================================================== ====================================================================== Please check output in file: /Users/dpage/git/pgadmin4/web/regression/regression.log ############ -- Dave Page Blog: https://pgsnake.blogspot.com Twitter: @pgsnake EDB: https://www.enterprisedb.com