Skip to content

Project modernization - #194

Merged
kpdyer merged 3 commits into
masterfrom
project-modernization
Jan 10, 2026
Merged

Project modernization#194
kpdyer merged 3 commits into
masterfrom
project-modernization

Conversation

@kpdyer

@kpdyer kpdyer commented Jan 10, 2026

Copy link
Copy Markdown
Owner

This PR modernizes the fteproxy project infrastructure:

  • Removed legacy files (unittests, systemtests, doc/, --mode test CLI)
  • Refactored tests to pytest style with fixtures
  • Added system tests that spin up actual client/server processes
  • Split GitHub Actions into unit-tests and system-tests jobs
  • Added PyPI publishing workflow (triggers on release)
  • Added dedicated PYPI_README.md and pyproject.toml for modern packaging
  • Updated .gitignore with modern Python patterns

Kevin P. Dyer added 3 commits January 10, 2026 15:27
Removed:
- unittests script (tests now run via pytest)
- systemtests script (covered by pytest tests)
- doc/ directory (outdated sphinx docs)
- --mode test CLI option

Refactored tests:
- Converted from unittest to pytest style
- Use pytest fixtures instead of setUp/tearDown
- Cleaner test class and method names
- Removed suite() functions

Updated:
- .gitignore with modern Python patterns
- CLI simplified (client/server modes only)
New test_system.py includes:
- TestSystemEndToEnd: Spins up fteproxy client and server processes
  - test_basic_data_transfer: Simple data through proxy
  - test_large_data_transfer: 64KB data transfer
  - test_multiple_connections: Sequential connections
- TestCLI: Tests for command-line interface
  - test_version, test_help, test_invalid_mode

Updated GitHub Actions:
- Split into unit-tests and system-tests jobs
- System tests run on Python 3.10-3.12 (fewer versions, longer tests)
- Added pytest-timeout to requirements
New files:
- PYPI_README.md: Concise README for PyPI package page
- pyproject.toml: Modern Python packaging configuration
- .github/workflows/publish.yml: PyPI publishing workflow

The publish workflow:
- Triggers on GitHub releases (publishes to PyPI)
- Can be manually triggered for TestPyPI or PyPI
- Uses trusted publishing (OIDC) for secure uploads
- Builds and validates package before publishing

Updated:
- setup.py: Cleaned up, uses PYPI_README.md
- MANIFEST.in: Include new files in distribution
@kpdyer
kpdyer merged commit 1cf62ca into master Jan 10, 2026
34 checks passed
@kpdyer
kpdyer deleted the project-modernization branch January 10, 2026 23:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant