ya2 · news · projects · code · about

fixed testing
[pmachines.git] / tests / test_functional.py
index c4fa328b406a1480392876bfccea2a685f48b840..18b2a05b426a31642ee1a08c280e0f354e3c137b 100644 (file)
@@ -28,7 +28,7 @@ class FunctionalTests(TestCase):
         dirs = [
             Filename().get_user_appdata_directory(),
             '/home/flavio/.var/app/it.ya2.Pmachines/data',
-            '/home/flavio/.wine/drive_c/users/flavio/AppData']
+            '/home/flavio/.wine/drive_c/users/flavio/AppData/Local']
         files = [
             'pmachines/options.ini',
             'pmachines/obs_version.txt']
@@ -39,6 +39,9 @@ class FunctionalTests(TestCase):
                 info('%s removed' % _file)
             else:
                 info('%s does not exist' % _file)
+        opt_ini = str(Path.home()) + '/builders/pmachines_builder/pmachines/options.ini'
+        if exists(opt_ini):
+            remove(opt_ini)
         system('pkill -f "pmachines.exe"')
 
     def __awake(self):
@@ -89,8 +92,10 @@ class FunctionalTests(TestCase):
     def test_code(self):
         info('test_code')
         self.__test_template(
-            '~/venv/bin/python main.py --functional-test 1 ; '
-            '~/venv/bin/python main.py --functional-test 2',
+            'timeout 720s ~/venv/bin/python main.py --functional-test & '
+            'timeout 720s ~/venv/bin/python -m lib.tools.functional_test.py 1; sleep 5; '
+            'timeout 720s ~/venv/bin/python main.py --functional-test & '
+            'timeout 720s ~/venv/bin/python -m lib.tools.functional_test.py 2',
             str(Path.home()) + '/.local/share/pmachines/tests/functional/')
 
     def test_appimage(self):
@@ -98,53 +103,63 @@ class FunctionalTests(TestCase):
         bld_branch = {'master': 'alpha', 'rc': 'rc', 'stable': 'stable'}[_branch()]
         bld_branch = '' if bld_branch == 'stable' else ('-' + bld_branch)
         self.__test_template(
-            './dist/Pmachines%s-x86_64.AppImage --functional-test 1 ;'
-            './dist/Pmachines%s-x86_64.AppImage --functional-test 2' % (bld_branch, bld_branch),
+            'timeout 720s ./dist/Pmachines%s-x86_64.AppImage --functional-test & '
+            'timeout 720s ~/venv/bin/python -m lib.tools.functional_test.py 1; sleep 5; '
+            'timeout 720s ./dist/Pmachines%s-x86_64.AppImage --functional-test & ' % (bld_branch, bld_branch) +
+            'timeout 720s ~/venv/bin/python -m lib.tools.functional_test.py 2',
             str(Path.home()) + '/.local/share/pmachines/tests/functional/')
 
-    # def test_flatpak(self):
-    #     info('test_flatpak')
-    #     if environ.get('FUNCTIONALPOST') != '1':
-    #         self.skipTest('skipped functional-post tests')
-    #     bld_branch = {'master': 'alpha', 'rc': 'rc', 'stable': 'stable'}[_branch()]
-    #     cmd = 'flatpak update -y it.ya2.Pmachines//%s' % bld_branch
-    #     info('executing: %s' % cmd)
-    #     system(cmd)
-    #     info('executed: %s' % cmd)
-    #     self.__test_template(
-    #         'flatpak run it.ya2.Pmachines//%s --functional-test 1 ;'
-    #         'flatpak run it.ya2.Pmachines//%s --functional-test 2' % (bld_branch, bld_branch),
-    #         str(Path.home()) + '/.var/app/it.ya2.Pmachines/data/pmachines/tests/functional/')
-
-    # def __update_itchio(self):
-    #     system('/home/flavio/.itch/itch')
-    #     sleep(5)
-    #     system('xdotool mousemove 860 620')
-    #     sleep(1)
-    #     system('xdotool click 1')
-    #     sleep(300)
-    #     system('killall itch')
-
-    # def test_itchio(self):
-    #     info('test_itchio')
-    #     if environ.get('FUNCTIONALPOST') != '1':
-    #         self.skipTest('skipped functional-post tests')
-    #     if _branch() != 'master':
-    #         return
-    #     self.__update_itchio()
-    #     self.__test_template(
-    #         '/home/flavio/.config/itch/apps/pmachines/pmachines --functional-test 1 ;'
-    #         '/home/flavio/.config/itch/apps/pmachines/pmachines --functional-test 2',
-    #         str(Path.home()) + '/.local/share/pmachines/tests/functional/')
-
-    # def test_windows(self):
-    #     info('test_windows')
-    #     system('pkill -f "pmachines.exe"')
-    #     abspath = str(Path(__file__).parent.parent) + '/build/win_amd64/pmachines.exe'
-    #     self.__test_template(
-    #         'timeout 720s wine %s --functional-test 1 ; '
-    #         'timeout 720s wine %s --functional-test 2' % (abspath, abspath),
-    #         str(Path.home()) + '/.wine/drive_c/users/flavio/AppData/Local/pmachines/tests/functional/')
+    def test_flatpak(self):
+        info('test_flatpak')
+        if environ.get('FUNCTIONALPOST') != '1':
+            self.skipTest('skipped functional-post tests')
+        bld_branch = {'master': 'alpha', 'rc': 'rc', 'stable': 'stable'}[_branch()]
+        cmd = 'flatpak update --user -y it.ya2.Pmachines//%s' % bld_branch
+        info('executing: %s' % cmd)
+        #system(cmd)
+        fout = exec_cmd(cmd)
+        info('executed: %s' % cmd)
+        info(fout)
+        self.__test_template(
+            'timeout 720s flatpak run it.ya2.Pmachines//%s --functional-test & '
+            'timeout 720s ~/venv/bin/python -m lib.tools.functional_test.py 1; sleep 5; '
+            'timeout 720s flatpak run it.ya2.Pmachines//%s --functional-test & ' % (bld_branch, bld_branch) +
+            'timeout 720s ~/venv/bin/python -m lib.tools.functional_test.py 2',
+            str(Path.home()) + '/.var/app/it.ya2.Pmachines/data/pmachines/tests/functional/')
+
+    def __update_itchio(self):
+        system('/home/flavio/.itch/itch')
+        sleep(5)
+        system('xdotool mousemove 860 620')
+        sleep(1)
+        system('xdotool click 1')
+        sleep(300)
+        system('killall itch')
+
+    def test_itchio(self):
+        info('test_itchio')
+        if environ.get('FUNCTIONALPOST') != '1':
+            self.skipTest('skipped functional-post tests')
+        if _branch() != 'master':
+            return
+        self.__update_itchio()
+        self.__test_template(
+            'timeout 720s /home/flavio/.config/itch/apps/pmachines/pmachines --functional-test & '
+            'timeout 720s ~/venv/bin/python -m lib.tools.functional_test.py 1; sleep 5; '
+            'timeout 720s /home/flavio/.config/itch/apps/pmachines/pmachines --functional-test & '
+            'timeout 720s ~/venv/bin/python -m lib.tools.functional_test.py 2',
+            str(Path.home()) + '/.local/share/pmachines/tests/functional/')
+
+    def test_windows(self):
+        info('test_windows')
+        system('pkill -f "pmachines.exe"')
+        abspath = str(Path(__file__).parent.parent) + '/build/win_amd64/pmachines.exe'
+        self.__test_template(
+            'timeout 720s wine %s --functional-test & ' % abspath +
+            'timeout 720s ~/venv/bin/python -m lib.tools.functional_test.py 1; sleep 5; '
+            'timeout 720s wine %s --functional-test & ' % abspath +
+            'timeout 720s ~/venv/bin/python -m lib.tools.functional_test.py 2',
+            str(Path.home()) + '/.wine/drive_c/users/flavio/AppData/Local/pmachines/tests/functional/')
 
     def test_versions(self):
         info('test_versions')
@@ -162,16 +177,20 @@ class FunctionalTests(TestCase):
                 _ver = fver.read().strip() + '-'
         exp = '%s-%s' % (_ver, commit)
         cmds = [
-            ('./build/manylinux2010_x86_64/pmachines --version', str(Filename.get_user_appdata_directory()) + '/pmachines/obs_version.txt'),
-            ('./dist/Pmachines-%s-x86_64.AppImage --version' % bld_branch, str(Filename.get_user_appdata_directory()) + '/pmachines/obs_version.txt'),
-            #('timeout 720s wine ./build/win_amd64/pmachines.exe --version', '/home/flavio/.wine/drive_c/users/flavio/AppData/Local/pmachines/obs_version.txt')
-            ]
-        #if environ.get('FUNCTIONALPOST') == '1':
-        #    if _branch() == 'master':
-        #        self.__update_itchio()
-        #        cmds += [('/home/flavio/.config/itch/apps/pmachines/pmachines --version', str(Filename.get_user_appdata_directory()) + '/pmachines/obs_version.txt')]
-        #    cmds += [('flatpak run it.ya2.Pmachines//%s --version' % bld_branch, '/home/flavio/.var/app/it.ya2.Pmachines/data/pmachines/obs_version.txt')]
-        system('flatpak update -y it.ya2.Pmachines//%s' % bld_branch)
+            ('timeout 720s ./build/manylinux2010_x86_64/pmachines --version', str(Filename.get_user_appdata_directory()) + '/pmachines/obs_version.txt'),
+            ('timeout 720s ./dist/Pmachines-%s-x86_64.AppImage --version' % bld_branch, str(Filename.get_user_appdata_directory()) + '/pmachines/obs_version.txt'),
+            ('timeout 720s wine ./build/win_amd64/pmachines.exe --version', '/home/flavio/.wine/drive_c/users/flavio/AppData/Local/pmachines/obs_version.txt')
+        ]
+        if environ.get('FUNCTIONALPOST') == '1':
+            if _branch() == 'master':
+                self.__update_itchio()
+                cmds += [('timeout 720s /home/flavio/.config/itch/apps/pmachines/pmachines --version', str(Filename.get_user_appdata_directory()) + '/pmachines/obs_version.txt')]
+            cmds += [('timeout 720s flatpak run it.ya2.Pmachines//%s --version' % bld_branch, '/home/flavio/.var/app/it.ya2.Pmachines/data/pmachines/obs_version.txt')]
+        info('executing flatpak update --user -y it.ya2.Pmachines//%s' % bld_branch)
+        #system('flatpak update -y --user it.ya2.Pmachines//%s' % bld_branch)
+        fout = exec_cmd('flatpak update -y --user it.ya2.Pmachines//%s' % bld_branch)
+        info('executed flatpak update --user -y it.ya2.Pmachines//%s' % bld_branch)
+        info(fout)
         for cmd in cmds:
             if exists(cmd[1]):
                 remove(cmd[1])