Skip to content

Conversation

@navidpadid
Copy link
Owner

This pull request introduces significant improvements to the documentation, build system, and testing workflow for the Linux Process Information Kernel Module project. It adds a dual BSD/GPL license, enhances the Makefile and documentation to support function-level unit testing, and updates the QEMU testing scripts and quick reference guide for better usability and clarity. The changes collectively make the project easier to build, test, and understand, both for kernel and user-space components.

Licensing:

  • Added a LICENSE file specifying a dual BSD/GPL license, giving users the choice between BSD and GPLv2 terms.

Testing and Build System Enhancements:

  • Updated the Makefile to introduce a unit target for building and running function-level unit tests for both kernel and user-space helper functions, without requiring a kernel. [1] [2]
  • Documented new and existing source files and build artifacts in README.md, including test sources and helper headers. [1] [2]
  • Added detailed instructions for running unit tests and described the testing workflow, emphasizing running make unit before kernel or QEMU testing. [1] [2]
  • Updated the project changelog to reflect the addition of function-level unit tests and improved testing environments.

Documentation Improvements:

  • Expanded and clarified the main README.md with details about helper headers, user program modes, environment overrides, and updated function names for accuracy. [1] [2]
  • Improved the QEMU testing documentation (scripts/README.md) with a clearer overview, step-by-step workflow, and additional resources. [1] [2] [3] [4] [5]

Developer Experience:

  • Enhanced the scripts/quick-reference.sh script to provide a comprehensive quick reference for building, testing, and troubleshooting, including new targets and project structure. [1] [2] [3] [4]

Code Quality:

  • Refactored the kernel module to use the new compute_usage_permyriad() helper function for CPU usage calculation, improving code clarity and testability. [1] [2]

@navidpadid navidpadid merged commit 50a3bad into main Jan 4, 2026
1 check passed
@navidpadid navidpadid deleted the unit-tests branch January 4, 2026 04:41
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.

2 participants