Open filmaj opened 6 years ago
I would love to contribute to this project but without being able to run the tests I do not have confidence in sending pull requests 😢
@jgbarah if you could help me work through this issue, I will involve myself in this project more and file more pull requests and try to help out with issues filed.
Thanks a lot for your interest, @filmaj
I'm in the process of integrating this project in the set of tests that build_grimoirelab can run automatically, when building packages. Recently, chaoss/grimoirelab#124 was merged, which provides the basis for this testing. I already integrated sortinghat tests (see chaoss/grimoirelab-sortinghat#154), and the next one is sirmorded. So, we're almost there ;-)
Meanwhile, maybe you can have a look at the travis config file, which is what Travis uses to run the tests. In it, you can see how you need Elasticsearch running for some tests, and also some packages in specific versions. Copying from that file:
- pip install pandas==0.18.1
- pip install httpretty==0.8.6
- pip install -r "requirements.txt"
- pip install flake8
- pip install coveralls
So, not all dependencies are in requirements.txt
...
Could you try starting from here?
That's great! I got pretty far to running the tests, but it looks like a dependency on sortinghat deep down the chain is still causing an error, 7 failures that all are the same issue:
======================================================================
ERROR: test_task_projects (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: test_task_projects
Traceback (most recent call last):
File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/loader.py", line 428, in _find_test_path
module = self._get_module_from_name(name)
File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/loader.py", line 369, in _get_module_from_name
__import__(name)
File "/Users/maj/src/grimoirelab-sirmordred/tests/test_task_projects.py", line 35, in <module>
from mordred.config import Config
File "../mordred/config.py", line 29, in <module>
from grimoire_elk.utils import get_connectors
File "/Users/maj/.virtualenvs/grimoirelab/lib/python3.6/site-packages/grimoire_elk/utils.py", line 77, in <module>
from .enriched.git import GitEnrich
File "/Users/maj/.virtualenvs/grimoirelab/lib/python3.6/site-packages/grimoire_elk/enriched/git.py", line 37, in <module>
from .study_ceres_aoc import areas_of_code, ESPandasConnector
File "/Users/maj/.virtualenvs/grimoirelab/lib/python3.6/site-packages/grimoire_elk/enriched/study_ceres_aoc.py", line 28, in <module>
from cereslib.events.events import Git, Events
File "/Users/maj/.virtualenvs/grimoirelab/lib/python3.6/site-packages/cereslib/events/events.py", line 27, in <module>
from grimoire_elk.enriched.sortinghat_gelk import SortingHat
File "/Users/maj/.virtualenvs/grimoirelab/lib/python3.6/site-packages/grimoire_elk/enriched/sortinghat_gelk.py", line 32, in <module>
from sortinghat.exceptions import AlreadyExistsError, WrappedValueError
ImportError: cannot import name 'WrappedValueError'
I took a look at the sortinghat code and it looks like that exception class was recently removed. So, no wonder 😉 . In that commit they rename the exception to InvalidValueError
. The offender seems to be grimoirelab-elk, which is still using the old name for the exception. I'll send a PR there. When I fixed that in my local virtualenv, the tests ran! Yay!
I'll send a PR here for updated README instructions.
The PR at chaoss/grimoirelab-elk#382 that is currently open will fix the above test failures in Mordred, FYI.
It would be nice to know how to get set up in this repository, as well as how to run the tests.
My assumptions / attempts so far have included:
python3 setup.py install
pip install -r requirements.txt
- maybe? Maybe the last command implicitly installs the reqs?But how do I run the tests? I tried
python3 tests/run_tests.py
, but that failed completely. I tried to run it from thetests/
directory and got farther, but it looks like I'm missing a ton of dependencies:If someone could help me with this, I will happily issue a pull request to update the README.md.
Thanks!