39 Commits

Author SHA1 Message Date
Jesús Pérex
13c65980ac refactor(logging): Improve thread safety and test configuration
This commit enhances the logging system with better thread safety and proper test configuration:

- Replace RefCell with RwLock in SimpleLogger for thread-safe logging
- Add proper feature flag configuration for test-sync
- Organize logging modules with clear separation between prod and test
- Update test files with proper feature flag annotations
- Fix module structure in lib.rs to avoid duplicate definitions

Technical changes:
- Use RwLock for thread-safe log writer access
- Add #![cfg(feature = "test-sync")] to all test files
- Configure .cargo/config.toml for test-sync feature
- Update Cargo.toml with proper test configurations
- Clean up logging module exports

This change ensures thread-safe logging in production while maintaining
separate test-specific synchronization primitives, improving overall
reliability and maintainability.
2025-05-27 09:57:16 +01:00
Jesús Pérex
6bea25dfd2 chore: rename test directory to test-run 2025-05-27 01:18:51 +01:00
Jesús Pérex
baf281eddd chore: add testcapture and comments about test in parallel 2025-05-27 01:10:59 +01:00
Jesús Pérex
5d5ae2d759 chore: fix lines 2025-05-27 01:02:00 +01:00
Jesús Pérex
238b2a13e5 chore: add test capture option 2025-05-27 01:00:34 +01:00
Jesús Pérex
852df37ffc refactor(tests): improve test logging setup and organization
- Create unit test and integration tests for logs in separate tests
- Centralize temporary log file creation in common.rs
- Remove redundant logging initialization code from common.rs
- Update all test files to handle their own logging initialization
- Add detailed debug logging throughout test execution
- Add log file content display for better test debugging
- Standardize error handling across test files

Changes:
- Create setup_test_log_file() helper in common.rs
- Remove setup_test_logging() and setup_temp_log() functions
- Update test files to use common setup_test_log_file():
  - test_log_detail_macro.rs
  - test_log_timed_macro.rs
  - test_different_log_levels.rs
  - test_init_logging_with_file.rs
  - test_init_logging_append_mode.rs

This change improves test maintainability by:
1. Reducing code duplication
2. Making test behavior more explicit
3. Improving test output for debugging
4. Following single responsibility principle
2025-05-27 00:59:44 +01:00
Jesús Pérex
98a9649bf2 refactor: improve code to more idiomatic
- Use lib.rs for library mode and used with log tests
- Improve enum for tasks on files with file_type.rs
- Fix main and directory_processing
- Add Errors
- Adjust loggint.rs with OneLock and Atomic to control with parallel tests
- Add test.rs for unitary tests
2025-05-27 00:58:59 +01:00
Jesús Pérex
0fb88cd3b7 chore: pass options to just runtest 2025-05-26 19:13:46 +01:00
Jesús Pérex
75111d12ed chore: update with new options and src layout 2025-05-26 19:12:56 +01:00
Jesús Pérex
a4929cb448 chore: pass commnand arguments for options like --log-file to collect output 2025-05-26 18:44:47 +01:00
Jesús Pérex
bebb08f215 chore: add --log-file to collect output 2025-05-26 18:44:05 +01:00
Jesús Pérex
a03508695d refactor: improve logging and test organization
BREAKING CHANGE: Logging output now goes to either file or console, not both

Logging changes:
- Rename MultiWriter to LogWriter for clarity
- Change logging to write to either file or console exclusively
- Improve log initialization message format
- Add better documentation for logging behavior

Test organization:
- Move tests from directory_processor.rs to separate test modules
- Follow modern Rust convention using tests.rs instead of mod.rs
- Create proper test directory structure under src/tests/
- Make necessary struct fields pub(crate) for testing

This commit improves code organization and makes logging behavior more
conventional by directing output to a single destination.
2025-05-26 18:43:00 +01:00
Jesús Pérex
74fc8aff60 chore: add const vars values with description to md files 2025-05-25 00:38:02 +01:00
Jesús Pérex
643ae42503 chore: add const vars values with description to md files 2025-05-25 00:34:53 +01:00
Jesús Pérex
db778cab51 chore: rename FILES_TO_IGNORE to PATHS_TO_IGNORE 2025-05-25 00:19:03 +01:00
Jesús Pérex
6c0ecb402c chore:
- add syncthing directories to be excluded in clean_target
   - rename FILES_TO_IGNORE to PATHS_TO_IGNORE
2025-05-25 00:18:11 +01:00
Jesús Pérex
55a4da1bcc chore: send output to a file in /tmp and use dialog to open it 2025-05-24 08:13:49 +01:00
Jesús Pérex
c13b2fe3ad chore: use FILES_TO_IGNORE to exclude files in cleanup_target 2025-05-24 07:57:27 +01:00
Jesús Pérex
4b9e2ab631 chore: add spaces to increase window width 2025-05-24 00:04:48 +01:00
Jesús Pérex
08bad3380c chore: +nightly fmt 2025-05-23 20:03:30 +01:00
Jesús Pérex
1b871c3513 chore: add doc to test 2025-05-23 20:00:19 +01:00
Jesús Pérex
640ce8334c feat:
- Add support for .doc and .docx files
  - Use FILES_TO_CONVERT constant for document types to convert to PDF
  - Refactor code, file checking and help text for formats
2025-05-23 19:50:47 +01:00
Jesús Pérex
a0b78e3c7e fix: correct path handling in directory processing
- Fix duplicate subdirectory creation bug when processing nested directories
- Change relative path calculation to use current directory instead of root
- Remove redundant subdirectory creation code
- Improve path display in logs to show cleaner relative paths
2025-05-23 19:49:11 +01:00
Jesús Pérex
4bfd43e1e0 fix: correct path handling in directory processing
- Fix duplicate subdirectory creation bug when processing nested directories
- Change relative path calculation to use current directory instead of root
- Remove redundant subdirectory creation code
- Improve path display in logs to show cleaner relative paths
2025-05-23 19:22:44 +01:00
Jesús Pérex
68476f12a8 chore: add wrks to gitignore 2025-05-23 19:19:43 +01:00
Jesús Pérex
e63c74c5a3 chore: mkdir BIN_APP_PATH, use sudo for mkdir, cp etc 2025-05-23 17:03:45 +01:00
Jesús Pérex
afa3e45067 chore: mkdir BIN_APP_PATH, use sudo for mkdir, cp etc 2025-05-23 17:03:24 +01:00
Jesús Pérex
4840b92d84 chore: fix install bin path 2025-05-23 17:02:20 +01:00
Jesús Pérex
b2170200fe chore: fix converted message output 2025-05-23 16:38:40 +01:00
Jesús Pérex
8326aad265 feat: add recursive directory processing for ODT files - Add process_directory function, maintain directory structure, improve error handling 2025-05-23 16:18:20 +01:00
Jesús Pérex
8f7558bac4 chore: add arguments like target architecture 2025-05-21 09:00:40 +01:00
Jesús Pérex
eeaf8e9698 chore: add run.sh shell 2025-05-20 22:14:29 +01:00
Jesús Pérex
e5ee435982 chore: add test content 2025-05-20 22:13:49 +01:00
Jesús Pérex
3a1075db49 chore: add linux: script, command 2025-05-20 22:13:11 +01:00
Jesús Pérex
0b967ff33e chore: add macos script , tenokate, command 2025-05-20 22:12:28 +01:00
Jesús Pérex
f5b838984d chore: add resources 2025-05-20 21:58:20 +01:00
Jesús Pérex
3cd24e8a8f chore: add justfile 2025-05-20 21:56:32 +01:00
Jesús Pérex
72f4191292 chore: add source code 2025-05-20 21:55:58 +01:00
Jesús Pérex
6bf3e86a79 init repo 2025-05-20 21:19:34 +01:00