Files
modelscope/tests/cli/test_plugins_cmd.py
zhangzhicheng.zzc 8a19e9645d [to #47860410]plugin with cli tool
1. 支持 plugin方式接入外部 repo、github repo,本地repo,并进行外部插件管理
2. 支持allow_remote方式接入modelhub repo,该类型属于model 范畴不做额外插件管理
3. 支持cli 安装plugin相关

Link: https://code.alibaba-inc.com/Ali-MaaS/MaaS-lib/codereview/11775456
2023-03-09 23:07:13 +08:00

51 lines
1.7 KiB
Python

import subprocess
import unittest
from modelscope.utils.plugins import PluginsManager
class PluginsCMDTest(unittest.TestCase):
def setUp(self):
print(('Testing %s.%s' % (type(self).__name__, self._testMethodName)))
self.package = 'adaseq'
self.plugins_manager = PluginsManager()
def tearDown(self):
super().tearDown()
def test_plugins_install(self):
cmd = f'python -m modelscope.cli.cli plugin install {self.package}'
stat, output = subprocess.getstatusoutput(cmd)
self.assertEqual(stat, 0)
# move this from tear down to avoid unexpected uninstall
uninstall_args = [self.package, '-y']
self.plugins_manager.uninstall_plugins(uninstall_args)
def test_plugins_uninstall(self):
# move this from tear down to avoid unexpected uninstall
uninstall_args = [self.package, '-y']
self.plugins_manager.uninstall_plugins(uninstall_args)
cmd = f'python -m modelscope.cli.cli plugin install {self.package}'
stat, output = subprocess.getstatusoutput(cmd)
self.assertEqual(stat, 0)
cmd = f'python -m modelscope.cli.cli plugin uninstall {self.package}'
stat, output = subprocess.getstatusoutput(cmd)
self.assertEqual(stat, 0)
# move this from tear down to avoid unexpected uninstall
uninstall_args = [self.package, '-y']
self.plugins_manager.uninstall_plugins(uninstall_args)
def test_plugins_list(self):
cmd = 'python -m modelscope.cli.cli plugin list'
stat, output = subprocess.getstatusoutput(cmd)
self.assertEqual(stat, 0)
if __name__ == '__main__':
unittest.main()