avocado-framework / avocado

Avocado is a set of tools and libraries to help with automated testing. One can call it a test framework with benefits. Native tests are written in Python and they follow the unittest pattern, but any executable can serve as a test.
https://avocado-framework.github.io/
Other
345 stars 343 forks source link

TypeError: __init__() got an unexpected keyword argument 'config' #5392

Open RanjithaKamath opened 2 years ago

RanjithaKamath commented 2 years ago

We are using avocado for the first time and receiving the following error on running "avocado plugins" cmd

/c/Users/jayeshbh/npcit_integration/npcit/venv_python3/data/crashes/avocado-traceback-2022-06-02_13:10:29-salkjjgc.log Avocado crashed: Traceback (most recent call last): File "/c/Users/jayeshbh/npcit_integration/npcit/venv_python3/bin/avocado", line 8, in sys.exit(main()) File "/c/Users/jayeshbh/npcit_integration/npcit/venv_python3/lib/python3.8/site-packages/avocado/core/main.py", line 76, in main return app.run() File "/c/Users/jayeshbh/npcit_integration/npcit/venv_python3/lib/python3.8/site-packages/avocado/core/app.py", line 112, in run return method(self.parser.config) File "/c/Users/jayeshbh/npcit_integration/npcit/venv_python3/lib/python3.8/site-packages/avocado/plugins/plugins.py", line 46, in run (dispatcher.ResultEventsDispatcher(config), File "/c/Users/jayeshbh/npcit_integration/npcit/venv_python3/lib/python3.8/site-packages/avocado/core/dispatcher.py", line 74, in init super(ResultEventsDispatcher, self).init( File "/c/Users/jayeshbh/npcit_integration/npcit/venv_python3/lib/python3.8/site-packages/avocado/core/enabled_extension_manager.py", line 26, in init super(EnabledExtensionManager, self).init(namespace, invoke_kwds) File "/c/Users/jayeshbh/npcit_integration/npcit/venv_python3/lib/python3.8/site-packages/avocado/core/extension_manager.py", line 63, in init obj = plugin(**invoke_kwds) TypeError: init() got an unexpected keyword argument 'config'

richtja commented 2 years ago

Hi @RanjithaKamath, thank you for decision to use Avocado and welcome to the Avocado community. Can you please provide more information about your problem, especially System information, Avocado version and your installation process? Thank you very much.

RanjithaKamath commented 2 years ago

I have a script which used to run on python 2 and now am told to convert to python3.And this script uses avocado framework with some plugins. The earlier version of avocado used was 59 with python2 and currently i have upgraded it to 82.0 with python3.

We have created test scripts in python and the python file path has been given inside the yaml file as test reference. And below command is being used to run the avocado test case. command=avocado run --show-job-log --job-results-dir {avocado_job_dir} --loaders yaml_testsuite -- {yaml_file_name}

Below are the versions being used to run the script avocado-framework==82.0 avocado-framework-my-journal @ file:///c/Users/kamath/Documents/Projects/PCIT_python3/npcit/npcit_tests_status_plugin avocado-framework-plugin-loader-yaml==82.0 avocado-framework-plugin-result-html==82.0 avocado-framework-plugin-varianter-yaml-to-mux==82.0

But unfortunately i am not to even run avocado plugins command to check the plugins installed and getting following errors avocado plugins Avocado crashed unexpectedly: init() got an unexpected keyword argument 'config' You can find details in /var/lib/avocado/data/crashes/avocado-traceback-2022-06-09_16:45:31-2edccf1v.log

Avocado crashed: Traceback (most recent call last): File "/c/Users/kamath/Documents/Projects/PCIT_python3/venv_py3/bin/avocado", line 8, in sys.exit(main()) File "/c/Users/kamath/Documents/Projects/PCIT_python3/venv_py3/lib/python3.8/site-packages/avocado/core/main.py", line 76, in main return app.run() File "/c/Users/kamath/Documents/Projects/PCIT_python3/venv_py3/lib/python3.8/site-packages/avocado/core/app.py", line 112, in run return method(self.parser.config) File "/c/Users/kamath/Documents/Projects/PCIT_python3/venv_py3/lib/python3.8/site-packages/avocado/plugins/plugins.py", line 46, in run (dispatcher.ResultEventsDispatcher(config), File "/c/Users/kamath/Documents/Projects/PCIT_python3/venv_py3/lib/python3.8/site-packages/avocado/core/dispatcher.py", line 74, in init super(ResultEventsDispatcher, self).init( File "/c/Users/kamath/Documents/Projects/PCIT_python3/venv_py3/lib/python3.8/site-packages/avocado/core/enabled_extension_manager.py", line 26, in init super(EnabledExtensionManager, self).init(namespace, invoke_kwds) File "/c/Users/kamath/Documents/Projects/PCIT_python3/venv_py3/lib/python3.8/site-packages/avocado/core/extension_manager.py", line 63, in init obj = plugin(**invoke_kwds) TypeError: init() got an unexpected keyword argument 'config'

richtja commented 2 years ago

Hi @RanjithaKamath I am so sorry for the late reply, and I am not sure if this is still relevant for you, but can you tell me how you install the avocado 82, because I wasn't able to reproduce this issue. I did this:

$ pip install avocado-framework==82 avocado-framework-plugin-loader-yaml==82 avocado-framework-plugin-result-html==82 avocado-framework-plugin-varianter-yaml-to-mux==82

...

$ avocado -v
Avocado 82.0

$ avocad plugins
 Plugins that always need to be initialized (init): 
jobscripts    Jobscripts plugin initialization
json_variants JSON serialized based varianter initialization
jsonresult    JSON job result plugin initialization
nrunner       nrunner initialization
podman        Podman (container) based spawner initialization
run           Initializes the run options
sysinfo       Initializes sysinfo settings
tap           TAP - Test Anything Protocol - result plugin initilization
xunit         xUnit job result initialization
yaml_to_mux   YamlToMux initialization plugin

...