49 lines
1.4 KiB
Markdown
49 lines
1.4 KiB
Markdown
# Task 1 Report
|
|
|
|
status: DONE_WITH_CONCERNS
|
|
|
|
## Files created/modified
|
|
|
|
- CMakeLists.txt
|
|
- include/mag160c/mag160c.h
|
|
- src/core/error.hpp
|
|
- src/core/error.cpp
|
|
- src/core/context.hpp
|
|
- src/core/context.cpp
|
|
- src/c_api.cpp
|
|
- tests/cpp/test_c_api.cpp
|
|
- progress.md
|
|
|
|
## Commands run
|
|
|
|
```powershell
|
|
cmake -S . -B build -DMAG160C_BUILD_TESTS=ON
|
|
```
|
|
|
|
Result: failed because cmake is not installed or not on PATH.
|
|
|
|
```powershell
|
|
g++ -std=c++17 -DMAG160C_STATIC -DMAG160C_HAS_LIBUSB=0 -Iinclude -Isrc src\core\error.cpp src\core\context.cpp src\c_api.cpp tests\cpp\test_c_api.cpp -o build_task1_test.exe
|
|
.\build_task1_test.exe
|
|
```
|
|
|
|
Result: passed with exit code 0 and no assertion failures.
|
|
|
|
## Test results
|
|
|
|
- CMake/CTest verification could not run because `cmake` is unavailable in the environment.
|
|
- Direct MinGW C++17 compile/run verification passed.
|
|
|
|
## Concerns
|
|
|
|
- The planned CMake verification remains unverified until CMake is installed or available on PATH.
|
|
- A generated local executable `build_task1_test.exe` exists from substitute verification.
|
|
|
|
## Self-review notes
|
|
|
|
- Public C ABI is free of C++ types.
|
|
- Unknown error codes return MAG160C_ERR_UNKNOWN_CODE.
|
|
- Null init output pointer returns MAG160C_ERR_INVALID_ARGUMENT and last_error mentions out_ctx.
|
|
- Successful init clears last_error and returns a non-null context.
|
|
- Context construction does not require hardware or libusb.
|