Skip to content

Commit

Permalink
Merge pull request #981 from ethereum/only_setup_py
Browse files Browse the repository at this point in the history
Only use `setup.py`
  • Loading branch information
djrtwo authored Apr 24, 2019
2 parents 02e6d5b + b1874dc commit 98e6a24
Show file tree
Hide file tree
Showing 13 changed files with 109 additions and 40 deletions.
14 changes: 7 additions & 7 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,15 +60,15 @@ jobs:
- restore_cache:
key: v1-specs-repo-{{ .Branch }}-{{ .Revision }}
- restore_cached_venv:
venv_name: v1-pyspec
reqs_checksum: '{{ checksum "test_libs/pyspec/requirements.txt" }}-{{ checksum "test_libs/pyspec/requirements-testing.txt" }}'
venv_name: v1-test_libs
reqs_checksum: '{{ checksum "test_libs/pyspec/setup.py" }}'
- run:
name: Install pyspec requirements
command: make install_test
- save_cached_venv:
venv_name: v1-pyspec
reqs_checksum: '{{ checksum "test_libs/pyspec/requirements.txt" }}-{{ checksum "test_libs/pyspec/requirements-testing.txt" }}'
venv_path: ./test_libs/pyspec/venv
venv_name: v1-test_libs
reqs_checksum: '{{ checksum "test_libs/pyspec/setup.py" }}'
venv_path: ./test_libs/venv
test:
docker:
- image: circleci/python:3.6
Expand All @@ -77,8 +77,8 @@ jobs:
- restore_cache:
key: v1-specs-repo-{{ .Branch }}-{{ .Revision }}
- restore_cached_venv:
venv_name: v1-pyspec
reqs_checksum: '{{ checksum "test_libs/pyspec/requirements.txt" }}-{{ checksum "test_libs/pyspec/requirements-testing.txt" }}'
venv_name: v1-test_libs
reqs_checksum: '{{ checksum "test_libs/pyspec/setup.py" }}'
- run:
name: Run py-tests
command: make citest
Expand Down
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ venv
.venvs
.venv
/.pytest_cache
*.egg
*.egg-info
eggs
.eggs

build/
output/
Expand All @@ -13,3 +17,6 @@ eth2.0-spec-tests/

# Dynamically built from Markdown spec
test_libs/pyspec/eth2spec/phase0/spec.py

# vscode
.vscode/**
14 changes: 10 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ SPEC_DIR = ./specs
SCRIPT_DIR = ./scripts
TEST_LIBS_DIR = ./test_libs
PY_SPEC_DIR = $(TEST_LIBS_DIR)/pyspec
CONFIG_HELPERS_DIR = $(TEST_LIBS_DIR)/config_helpers
YAML_TEST_DIR = ./eth2.0-spec-tests/tests
GENERATOR_DIR = ./test_generators
CONFIGS_DIR = ./configs
Expand All @@ -23,21 +24,26 @@ all: $(PY_SPEC_ALL_TARGETS) $(YAML_TEST_DIR) $(YAML_TEST_TARGETS)
clean:
rm -rf $(YAML_TEST_DIR)
rm -rf $(GENERATOR_VENVS)
rm -rf $(PY_SPEC_DIR)/venv $(PY_SPEC_DIR)/.pytest_cache
rm -rf $(TEST_LIBS_DIR)/venv
rm -rf $(PY_SPEC_DIR)/.pytest_cache
rm -rf $(PY_SPEC_ALL_TARGETS)

# "make gen_yaml_tests" to run generators
gen_yaml_tests: $(PY_SPEC_ALL_TARGETS) $(YAML_TEST_TARGETS)

# installs the packages to run pyspec tests
install_test:
cd $(PY_SPEC_DIR); python3 -m venv venv; . venv/bin/activate; pip3 install -r requirements-testing.txt;
cd $(TEST_LIBS_DIR); python3 -m venv venv; . venv/bin/activate; \
cd ..; cd $(CONFIG_HELPERS_DIR); pip3 install -e .; \
cd ../..; cd $(PY_SPEC_DIR); pip3 install -e .[dev];

test: $(PY_SPEC_ALL_TARGETS)
cd $(PY_SPEC_DIR); . venv/bin/activate; python -m pytest .
cd $(TEST_LIBS_DIR); . venv/bin/activate; \
cd ..; cd $(PY_SPEC_DIR); python -m pytest .;

citest: $(PY_SPEC_ALL_TARGETS)
cd $(PY_SPEC_DIR); mkdir -p test-reports/eth2spec; . venv/bin/activate; python -m pytest --junitxml=test-reports/eth2spec/test_results.xml .
cd $(TEST_LIBS_DIR); . venv/bin/activate; \
cd ..; cd $(PY_SPEC_DIR); mkdir -p test-reports/eth2spec; python -m pytest --junitxml=test-reports/eth2spec/test_results.xml .

# "make pyspec" to create the pyspec for all phases.
pyspec: $(PY_SPEC_ALL_TARGETS)
Expand Down
2 changes: 1 addition & 1 deletion test_generators/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ Note: make sure to run `make pyspec` from the root of the specs repository, to b

Install all the necessary requirements (re-run when you add more):
```bash
pip3 install -r requirements.txt
pip3 install -e .[pyspec]
```

And write your initial test generator, extending the base generator:
Expand Down
1 change: 0 additions & 1 deletion test_libs/config_helpers/requirements.txt

This file was deleted.

21 changes: 16 additions & 5 deletions test_libs/config_helpers/setup.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,20 @@
from distutils.core import setup
from setuptools import setup, find_packages


deps = {
'preset_loader': [
"ruamel.yaml==0.15.87",
],
}

deps['dev'] = (
deps['preset_loader']
)

install_requires = deps['preset_loader']

setup(
name='config_helpers',
packages=['preset_loader'],
install_requires=[
"ruamel.yaml==0.15.87"
]
packages=find_packages(exclude=["tests", "tests.*"]),
install_requires=install_requires,
)
2 changes: 0 additions & 2 deletions test_libs/gen_helpers/requirements.txt

This file was deleted.

23 changes: 17 additions & 6 deletions test_libs/gen_helpers/setup.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,21 @@
from distutils.core import setup
from setuptools import setup, find_packages


deps = {
'gen_base': [
"ruamel.yaml==0.15.87",
"eth-utils==1.4.1",
],
}

deps['dev'] = (
deps['gen_base']
)

install_requires = deps['gen_base']

setup(
name='gen_helpers',
packages=['gen_base'],
install_requires=[
"ruamel.yaml==0.15.87",
"eth-utils==1.4.1"
]
packages=find_packages(exclude=["tests", "tests.*"]),
install_requires=install_requires,
)
2 changes: 1 addition & 1 deletion test_libs/pyspec/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Install dependencies:
```bash
python3 -m venv venv
. venv/bin/activate
pip3 install -r requirements-testing.txt
pip3 install -e .[dev]
```
Note: make sure to run `make -B pyspec` from the root of the specs repository,
to build the parts of the pyspec module derived from the markdown specs.
Expand Down
3 changes: 0 additions & 3 deletions test_libs/pyspec/requirements-testing.txt

This file was deleted.

4 changes: 0 additions & 4 deletions test_libs/pyspec/requirements.txt

This file was deleted.

27 changes: 21 additions & 6 deletions test_libs/pyspec/setup.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,28 @@
from setuptools import setup, find_packages

setup(
name='pyspec',
packages=find_packages(),
tests_require=["pytest"],
install_requires=[

deps = {
'pyspec': [
"eth-utils>=1.3.0,<2",
"eth-typing>=2.1.0,<3.0.0",
"pycryptodome==3.7.3",
"py_ecc>=1.6.0",
]
],
'test': [
"pytest>=3.6,<3.7",
],
}

deps['dev'] = (
deps['pyspec'] +
deps['test']
)

install_requires = deps['pyspec']

setup(
name='pyspec',
packages=find_packages(exclude=["tests", "tests.*"]),
install_requires=install_requires,
extras_require=deps,
)
29 changes: 29 additions & 0 deletions test_libs/setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
from setuptools import setup, find_packages


deps = {
'pyspec': [
"eth-utils>=1.3.0,<2",
"eth-typing>=2.1.0,<3.0.0",
"pycryptodome==3.7.3",
"py_ecc>=1.6.0",
],
'test': [
"pytest>=3.6,<3.7",
],
}

deps['dev'] = (
deps['pyspec'] +
deps['test']
)

install_requires = deps['pyspec']


setup(
name='pyspec',
packages=find_packages(exclude=["tests", "tests.*"]),
install_requires=install_requires,
extras_require=deps,
)

0 comments on commit 98e6a24

Please sign in to comment.