Files

1.4 KiB

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

cmake -S . -B build -DMAG160C_BUILD_TESTS=ON

Result: failed because cmake is not installed or not on PATH.

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.