diff --git a/web/pgadmin/utils/tests/test_versioned_template_loader.py b/web/pgadmin/utils/tests/test_versioned_template_loader.py
index 5374b87..4ba5603 100644
--- a/web/pgadmin/utils/tests/test_versioned_template_loader.py
+++ b/web/pgadmin/utils/tests/test_versioned_template_loader.py
@@ -33,34 +33,37 @@ class TestVersionedTemplateLoader(BaseTestGenerator):
     def test_get_source_returns_a_template(self):
         expected_content = "Some SQL" \
                            "\nsome more stuff on a new line\n"
-
+        # For cross platform we join the SQL path (This solves the slashes issue)
+        sql_path = os.path.join("some_feature", "sql", "9.1_plus", "some_action.sql")
         content, filename, up_to_dateness = self.loader.get_source(None, "some_feature/sql/9.1_plus/some_action.sql")
-
-        self.assertEqual(expected_content, content)
-        self.assertIn("some_feature/sql/9.1_plus/some_action.sql", filename)
+        self.assertEqual(expected_content, str(content).replace("\r",""))
+        self.assertIn(sql_path, filename)
 
     def test_get_source_when_the_version_is_9_1_returns_9_1_template(self):
         expected_content = "Some SQL" \
                            "\nsome more stuff on a new line\n"
-
+        # For cross platform we join the SQL path (This solves the slashes issue)
+        sql_path = os.path.join("some_feature", "sql", "9.1_plus", "some_action.sql")
         content, filename, up_to_dateness = self.loader.get_source(None, "some_feature/sql/#90100#/some_action.sql")
 
-        self.assertEqual(expected_content, content)
-        self.assertIn("some_feature/sql/9.1_plus/some_action.sql", filename)
+        self.assertEqual(expected_content, str(content).replace("\r",""))
+        self.assertIn(sql_path, filename)
 
     def test_get_source_when_the_version_is_9_3_and_there_are_templates_for_9_2_and_9_1_returns_9_2_template(self):
-
+        # For cross platform we join the SQL path (This solves the slashes issue)
+        sql_path = os.path.join("some_feature", "sql", "9.2_plus", "some_action.sql")
         content, filename, up_to_dateness = self.loader.get_source(None, "some_feature/sql/#90300#/some_action.sql")
 
-        self.assertEqual("Some 9.2 SQL", content)
-        self.assertIn("some_feature/sql/9.2_plus/some_action.sql", filename)
+        self.assertEqual("Some 9.2 SQL", str(content).replace("\r",""))
+        self.assertIn(sql_path, filename)
 
     def test_get_source_when_the_version_is_9_0_and_there_are_templates_for_9_1_and_9_2_returns_default_template(self):
-
+        # For cross platform we join the SQL path (This solves the slashes issue)
+        sql_path = os.path.join("some_feature", "sql", "default", "some_action_with_default.sql")
         content, filename, up_to_dateness = self.loader.get_source(None, "some_feature/sql/#90000#/some_action_with_default.sql")
 
-        self.assertEqual("Some default SQL", content)
-        self.assertIn("some_feature/sql/default/some_action_with_default.sql", filename)
+        self.assertEqual("Some default SQL", str(content).replace("\r",""))
+        self.assertIn(sql_path, filename)
 
     def test_raise_not_found_exception_when_postgres_version_less_than_all_available_sql_templates(self):
 
diff --git a/web/regression/feature_utils/app_starter.py b/web/regression/feature_utils/app_starter.py
index b03f2a9..edfda05 100644
--- a/web/regression/feature_utils/app_starter.py
+++ b/web/regression/feature_utils/app_starter.py
@@ -7,7 +7,8 @@
 #
 ##########################################################################
 
-import os
+from __future__ import print_function
+import os, sys
 import subprocess
 
 import signal
@@ -27,13 +28,11 @@ class AppStarter:
         random_server_port = str(random.randint(10000, 65535))
         env = {
             "PGADMIN_PORT": random_server_port,
-            "SQLITE_PATH": self.app_config.TEST_SQLITE_PATH
+            "SQLITE_PATH": str(self.app_config.TEST_SQLITE_PATH)
                }
         env.update(os.environ)
-
         self.pgadmin_process = subprocess.Popen(["python", "pgAdmin4.py"],
                                                 shell=False,
-                                                preexec_fn=os.setsid,
                                                 stderr=open(os.devnull, 'w'),
                                                 env=env)
 
@@ -42,5 +41,8 @@ class AppStarter:
         self.driver.get("http://" + self.app_config.DEFAULT_SERVER + ":" + random_server_port)
 
     def stop_app(self):
+        print("I am in stop_app() function.", file=sys.stderr)
         self.driver.quit()
-        os.killpg(os.getpgid(self.pgadmin_process.pid), signal.SIGTERM)
+        print("Quitting driver.", file=sys.stderr)
+        os.kill(self.pgadmin_process.pid, signal.SIGTERM)
+        print("pgAdmin4.py process killed.", file=sys.stderr)
diff --git a/web/regression/python_test_utils/test_utils.py b/web/regression/python_test_utils/test_utils.py
index 2b7c695..7cd0965 100644
--- a/web/regression/python_test_utils/test_utils.py
+++ b/web/regression/python_test_utils/test_utils.py
@@ -474,21 +474,25 @@ def _cleanup(tester, app_starter):
         for database in test_databases:
             connection = get_db_server(database["server_id"])
             if connection:
+                print("Dropping databases.", file=sys.stderr)
                 drop_database(connection, database["db_name"])
         # Delete table spaces
         for tablespace in test_table_spaces:
             connection = get_db_server(tablespace["server_id"])
             if connection:
+                print("Dropping tablespaces.", file=sys.stderr)
                 regression.tablespace_utils.delete_tablespace(
                     connection, tablespace["tablespace_name"])
         # Delete roles
         for role in test_roles:
             connection = get_db_server(role["server_id"])
             if connection:
+                print("Dropping roles.", file=sys.stderr)
                 regression.roles_utils.delete_role(connection,
                                                    role["role_name"])
         # Delete servers
         for server in test_servers:
+            print("Deleting servers.", file=sys.stderr)
             delete_server_with_api(tester, server["server_id"])
     except Exception:
         traceback.print_exc(file=sys.stderr)
@@ -498,6 +502,7 @@ def _cleanup(tester, app_starter):
         # Remove SQLite db file
         remove_db_file()
         if app_starter:
+            print("Stopping app.", file=sys.stderr)
             app_starter.stop_app()
 
 
diff --git a/web/regression/runtests.py b/web/regression/runtests.py
index 5f4a3d0..3ab7512 100644
--- a/web/regression/runtests.py
+++ b/web/regression/runtests.py
@@ -67,10 +67,10 @@ if pgadmin_credentials:
                for item in ['login_username', 'login_password']):
             pgadmin_credentials = pgadmin_credentials[
                 'pgAdmin4_login_credentials']
-            os.environ['PGADMIN_SETUP_EMAIL'] = pgadmin_credentials[
-                'login_username']
-            os.environ['PGADMIN_SETUP_PASSWORD'] = pgadmin_credentials[
-                'login_password']
+            os.environ['PGADMIN_SETUP_EMAIL'] = str(pgadmin_credentials[
+                'login_username'])
+            os.environ['PGADMIN_SETUP_PASSWORD'] = str(pgadmin_credentials[
+                'login_password'])
 
 # Execute the setup file
 exec (open("setup.py").read())
