gpMgmt Behave tests: errors return
- Dominant language
- C
- Stars
- 1.4k
- Forks
- 247
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 39
Description
I'm running the gpMgmt behave tests in my local machine, some errors returned.
1.
```
[gpadmin@cdw gpMgmt]$ PYTHONPATH=$(pwd):$PYTHONPATH behave test/behave/mgmt_utils/
Exception AmbiguousStep: @then('verify if the gprecoverseg.lock directory is present in coordinator_data_directory') has already been defined in existing step @then('verify if the gprecoverseg.lock directory is present in coordinator_data_directory') at test/behave/mgmt_utils/steps/mgmt_utils.py:484 Traceback (most recent call last): File "/home/gpadmin/.local/bin/behave", line 8, in sys.exit(main()) File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/__main__.py", line 183, in main return run_behave(config) File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/__main__.py", line 127, in run_behave failed = runner.run() File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/runner.py", line 804, in run return self.run_with_paths() File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/runner.py", line 808, in run_with_paths self.load_hooks() File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/runner.py", line 784, in load_hooks exec_file(hooks_path, self.hooks) File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/runner_util.py", line 386, in exec_file exec(code, globals_, locals_) File "test/behave/mgmt_utils/environment.py", line 9, in from steps.mirrors_mgmt_utils import MirrorMgmtContext File "/home/gpadmin/cloudberry/gpMgmt/test/behave/mgmt_utils/steps/mirrors_mgmt_utils.py", line 15, in from test.behave.mgmt_utils.steps.mgmt_utils import * File "/home/gpadmin/cloudberry/gpMgmt/test/behave/mgmt_utils/steps/mgmt_utils.py", line 493, in def impl(context): File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/step_registry.py", line 92, in wrapper self.add_step_definition(step_type, step_text, func) File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/step_registry.py", line 58, in add_step_definition raise AmbiguousStep(message % (new_step, existing_step)) behave.step_registry.AmbiguousStep: @then('verify if the gprecoverseg.lock directory is present in coordinator_data_directory') has already been defined in existing step @then('verify if the gprecoverseg.lock directory is present in coordinator_data_directory') at test/behave/mgmt_utils/steps/mgmt_utils.py:484 [gpadmin@cdw gpMgmt]$ pwd /home/gpadmin/cloudberry/gpMgmt
```
2.
```
[gpadmin@cdw gpMgmt]$ PYTHONPATH=$(pwd):$PYTHONPATH behave test/behave/mgmt_utils/
Exception AmbiguousStep: @when('the user asynchronously sets up to end {process_name} process with SIGHUP') has already been defined in existing step @when('the user asynchronously sets up to end {process_name} process with {signal_name}') at test/behave/mgmt_utils/steps/mgmt_utils.py:654 Traceback (most recent call last): File "/home/gpadmin/.local/bin/behave", line 8, in sys.exit(main()) File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/__main__.py", line 183, in main return run_behave(config) File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/__main__.py", line 127, in run_behave failed = runner.run() File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/runner.py", line 804, in run return self.run_with_paths() File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/runner.py", line 808, in run_with_paths self.load_hooks() File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/runner.py", line 784, in load_hooks exec_file(hooks_path, self.hooks) File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/runner_util.py", line 386, in exec_file exec(code, globals_, locals_) File "test/behave/mgmt_utils/environment.py", line 9, in from steps.mirrors_mgmt_utils import MirrorMgmtContext File "/home/gpadmin/cloudberry/gpMgmt/test/behave/mgmt_utils/steps/mirrors_mgmt_utils.py", line 15, in from test.behave.mgmt_utils.steps.mgmt_utils import * File "/home/gpadmin/cloudberry/gpMgmt/test/behave/mgmt_utils/steps/mgmt_utils.py", line 667, in def impl(context, process_name): File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/step_registry.py", line 92, in wrapper self.add_step_definition(step_type, step_text, func) File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/step_registry.py", line 58, in add_step_definition raise AmbiguousStep(message % (new_step, existing_step)) behave.step_registry.AmbiguousStep: @when('the user asynchronously sets up to end {process_name} process with SIGHUP') has already been defined in existing step @when('the user asynchronously sets up to end {process_name} process with {signal_name}') at test/behave/mgmt_utils/steps/mgmt_utils.py:654
```
3.
```
[gpadmin@cdw gpMgmt]$ PYTHONPATH=$(pwd):$PYTHONPATH behave test/behave/mgmt_utils/
Exception ImportError: cannot import name 'get_segments_with_running_basebackup' from 'gppylib.programs.clsRecoverSegment_triples' (/usr/local/cloudberry-db/lib/python/gppylib/programs/clsRecoverSegment_triples.py) Traceback (most recent call last): File "/home/gpadmin/.local/bin/behave", line 8, in sys.exit(main()) File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/__main__.py", line 183, in main return run_behave(config) File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/__main__.py", line 127, in run_behave failed = runner.run() File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/runner.py", line 804, in run return self.run_with_paths() File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/runner.py", line 809, in run_with_paths self.load_step_definitions() File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/runner.py", line 796, in load_step_definitions load_step_modules(step_paths) File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/runner_util.py", line 412, in load_step_modules exec_file(os.path.join(path, name), step_module_globals) File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/runner_util.py", line 386, in exec_file exec(code, globals_, locals_) File "test/behave/mgmt_utils/steps/recoverseg_mgmt_utils.py", line 10, in from gppylib.programs.clsRecoverSegment_triples import get_segments_with_running_basebackup, is_pg_rewind_running ImportError: cannot import name 'get_segments_with_running_basebackup' from 'gppylib.programs.clsRecoverSegment_triples' (/usr/local/cloudberry-db/lib/python/gppylib/programs/clsRecoverSegment_triples.py)
```
4.
```
[gpadmin@cdw gpMgmt]$ PYTHONPATH=$(pwd):$PYTHONPATH behave test/behave/mgmt_utils/
Exception ModuleNotFoundError: No module named 'gppylib.operations.get_segments_in_recovery' Traceback (most recent call last): File "/home/gpadmin/.local/bin/behave", line 8, in sys.exit(main()) File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/__main__.py", line 183, in main return run_behave(config) File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/__main__.py", line 127, in run_behave failed = runner.run() File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/runner.py", line 804, in run return self.run_with_paths() File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/runner.py", line 809, in run_with_paths self.load_step_definitions() File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/runner.py", line 796, in load_step_definitions load_step_modules(step_paths) File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/runner_util.py", line 412, in load_step_modules exec_file(os.path.join(path, name), step_module_globals) File "/home/gpadmin/.local/lib/python3.9/site-packages/behave/runner_util.py", line 386, in exec_file exec(code, globals_, locals_) File "test/behave/mgmt_utils/steps/recoverseg_mgmt_utils.py", line 11, in from gppylib.operations.get_segments_in_recovery import is_seg_in_backup_mode ModuleNotFoundError: No module named 'gppylib.operations.get_segments_in_recovery
```
4.
```
[gpadmin@cdw gpMgmt]$ PYTHONPATH=$(pwd):$PYTHONPATH behave test/behave/mgmt_utils/
ParserError: Failed to parse "/home/gpadmin/cloudberry/gpMgmt/test/behave/mgmt_utils/gprecoverseg.feature": Examples must only appear inside scenario outline at line 22: "Examples:"
```
Will fix them later in #1639
Contributor guide
Research direction
Start by running `PYTHONPATH=$(pwd):$PYTHONPATH behave test/behave/mgmt_utils/` and inspect the reported locations in `test/behave/mgmt_utils/steps/mgmt_utils.py`, `recoverseg_mgmt_utils.py`, `environment.py`, and `gprecoverseg.feature`. Check issue #1639 for the planned fixes; done means the listed Behave step, import, and feature-parser errors no longer occur.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100