# EPF5 Dev Updates - Week 1
Hey! I am thrilled to be a part of EPF(permissionlessly). This week began with the EPF5 Town Hall meeting, followed by an excellent Introduction to the Ethereum Governance talk by Tim Beiko during office hours. I also attended various workshops from the EPF Study Group, including sessions on Sharding, the PeerDAS breakout, consensus layer calls, ACD calls, and an Execution Client Architecture Overview. I am still in my discovery phase, trying to get a real feel of all these clients and understand how they might handle testing and security.
## Discovery Phase: Testing and Security
I am particularly interested in learning more about testing and security in core development. I revisited the EPF wiki to gather more information on these topics, where I watched several videos and read articles on testing and formal verification. I learned about execution layer testing, which comprises two types: Ethereum test and Ethereum execution-spec test, then we have consensus layer testing, and cross-layer testing.
I began installing and preparing my environment for the Ethereum execution-spec test using the steps provided in this guide. However, I encountered an error when running `pip install -e .[docs,lint,test]`. After trying to resolve this, I faced another issue related to how plugins are being imported. The error message indicated that there's no module named `pytest_plugins`, suggesting that the plugin is not being imported correctly. Here are the troubleshooting steps I took:
### Troubleshooting Steps
1. **Check pytest Installation**: Ensured that pytest is installed within the virtual environment by running `pip list` and verifying its presence among the installed packages.
2. **Verify Virtual Environment Activation**: Double-checked that the virtual environment is activated (`source venv/bin/activate`) and confirmed the correct Python interpreter is being used.
3. **Reinstall pytest**: Attempted to reinstall pytest within the virtual environment to ensure proper installation and configuration.
4. **Check pytest Configuration**: Ensured there are no conflicting pytest configurations in files like `pytest.ini` or `setup.cfg`.
5. **Debug the Import Error**: Ran Python interactively within the virtual environment and attempted to import the problematic module (`pytest_plugins.test_filler.test_filler`) to look for additional error messages or clues.
6. **Update Python Version**: Considered updating the Python version used in the virtual environment to ensure compatibility with all dependencies.
Despite these efforts, I am still encountering issues and am currently reaching out to developers who might be able to help resolve this so I can set up my working environment properly.
## Week 2 Roadmap
- **Fix my test environment**: Resolve the issues with my testing environment setup.
- **Complete remaining workshops**: Attend and complete the remaining sessions from the EPF Study Group.
- **Finalize what to work on**
## Final Thoughts
This week was about understanding the various testing and security processes involved in Ethereum. Having an overview of these testing types helped me contemplate whether to focus on execution layer testing, consensus layer testing, or cross-layer testing. I found some intriguing aspects in both cross-layer testing and parts of the consensus layer, specifically Nimbus and Lighthouse.
### References
- [EPF Wiki](https://example.com)
- [Ethereum Tests GitHub Repository](https://example.com)
- [Execution Spec Tests Guide](https://example.com)
- [YouTube Video on Ethereum Governance by Tim Beiko](https://example.com)
- [Hive Testing](https://example.com)
- [Testing and Security Overview PDF](https://example.com)
- [LightHouse Repo](https://example.com)