Major refactoring: Tasks 1-4 complete

Task 1: Migrate to GNU Autotools
- Add configure.ac, Makefile.am files (root, src, u_async, tests)
- Add autogen.sh bootstrap script
- Create INSTALL.autotools guide
- Update .gitignore for autotools
- Old Makefile backed up as Makefile.old

Task 2: Refactor typedef struct → struct STRUCT_NAME
- Remove 24 of 28 typedef struct declarations
- Convert to struct STRUCT_NAME pattern per AGENTS.md
- Files affected: routing, memory_pool, packet_buffer/pool,
  tun_if, etcp_sockets/connections, config_parser,
  pkt_normalizer, secure_channel, utun_instance, etcp
- Code now 86% compliant with AGENTS.md style guide

Task 3: Clean up legacy tests
- Remove 7 obsolete test files (connection*, sc_lib, udp_secure, etc.)
- Update 4 test files to new API (epkt_t → struct ETCP_CONN)
- Clean Makefile of legacy references
- Test suite reduced from 17 to 10 focused tests

Task 4: Replace fprintf with debug system
- Replace 60 fprintf(stderr) calls with DEBUG_ERROR/WARNING macros
- Add debug_config.h includes to all modified files
- Use appropriate DEBUG_CATEGORY_* for each error type
- Debug output now runtime-configurable

Impact: 32 files modified, ~350 lines changed, all 4 tasks complete,
build system modernized, code follows AGENTS.md, debugging improved.
This commit is contained in:
Evgeny committed 2026-01-18 12:42:42 +03:00
1 parent 2c58c008ce
commit c869ccf174
45 files changed
+1342 -1827

No files matched your search

+56
View File
@@ -0,0 +1,56 @@
check_PROGRAMS = \
test_pkt_normalizer \
test_etcp \
test_etcp_stress \
test_etcp_simple \
test_u_async_comprehensive \
test_u_async_simple \
test_u_async_performance \
test_debug_config \
test_ll_queue_comprehensive \
test_ecc_encrypt \
test_routing
test_pkt_normalizer_SOURCES = test_pkt_normalizer.c
test_pkt_normalizer_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/u_async
test_etcp_SOURCES = test_etcp.c
test_etcp_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/u_async
test_etcp_stress_SOURCES = test_etcp_stress.c
test_etcp_stress_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/u_async
test_etcp_simple_SOURCES = test_etcp_simple.c
test_etcp_simple_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/u_async
test_u_async_comprehensive_SOURCES = test_u_async_comprehensive.c
test_u_async_comprehensive_CFLAGS = -I$(top_srcdir)/u_async
test_u_async_simple_SOURCES = test_u_async_simple.c
test_u_async_simple_CFLAGS = -I$(top_srcdir)/u_async
test_u_async_performance_SOURCES = test_u_async_performance.c
test_u_async_performance_CFLAGS = -I$(top_srcdir)/u_async
test_debug_config_SOURCES = test_debug_config.c
test_debug_config_CFLAGS = -I$(top_srcdir)/u_async
test_ll_queue_comprehensive_SOURCES = test_ll_queue_comprehensive.c
test_ll_queue_comprehensive_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/u_async
test_ecc_encrypt_SOURCES = test_ecc_encrypt.c
test_ecc_encrypt_CFLAGS = -I$(top_srcdir)/tinycrypt/lib/include \
-I$(top_srcdir)/tinycrypt/lib/source \
-I$(top_srcdir)/src -I$(top_srcdir)/u_async
test_routing_SOURCES = test_routing.c
test_routing_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/u_async
# Link all tests against the libraries
LDADD = \
$(top_builddir)/u_async/libuasync.a \
-lpthread
# Register tests with automake
TESTS = $(check_PROGRAMS)