feature/MainApp #7

Merged
unai merged 4 commits from feature/MainApp into main 2026-03-10 18:54:34 +00:00
Owner

Adds the final layer of the pipeline: a minimal Qt5 GUI that displays integers received from the ConsumerThread in real time.

Changes

  • MainWindow.hpp: declares MainWindow, a QWidget subclass with an onValueReceived(int) slot and a lastDisplayedText() accessor for testing
  • MainWindow.cxx: implements the widget: two labels, a bold 24pt value display, updates driven by Qt's queued signal/slot mechanism (GUI thread never blocked)
  • main.cxx: wires the full pipeline: ConsumerThread → MainWindow slot, - Producer → UnixIpcBridge; graceful shutdown on QApplication::exec() return
  • test_main_window.cxx: headless GTest suite (offscreen Qt platform) covering label update on single/multiple values and non-empty window title
  • CMakeLists.txt / CMakeLists.txt: test_main_window and app build targets respectively
    Notes

Producer logs to producer.log to keep stdout clean for the consumer
All tests pass (ctest exit 0)

Test project /workspaces/azkoyentechnicaltest/build
    Start 1: test_sysfs_reader
1/5 Test #1: test_sysfs_reader ................   Passed    0.00 sec
    Start 2: test_producer
2/5 Test #2: test_producer ....................   Passed    1.01 sec
    Start 3: test_ipc
3/5 Test #3: test_ipc .........................   Passed    0.01 sec
    Start 4: test_consumer
4/5 Test #4: test_consumer ....................   Passed    0.05 sec
    Start 5: test_main_window
5/5 Test #5: test_main_window .................   Passed    0.01 sec

100% tests passed, 0 tests failed out of 5

Total Test time (real) =   1.09 sec

No new runtime dependencies beyond Qt5 Widgets/Test already in the project

Adds the final layer of the pipeline: a minimal Qt5 GUI that displays integers received from the ConsumerThread in real time. ## Changes - MainWindow.hpp: declares MainWindow, a QWidget subclass with an onValueReceived(int) slot and a lastDisplayedText() accessor for testing - MainWindow.cxx: implements the widget: two labels, a bold 24pt value display, updates driven by Qt's queued signal/slot mechanism (GUI thread never blocked) - main.cxx: wires the full pipeline: ConsumerThread → MainWindow slot, - Producer → UnixIpcBridge; graceful shutdown on QApplication::exec() return - test_main_window.cxx: headless GTest suite (offscreen Qt platform) covering label update on single/multiple values and non-empty window title - CMakeLists.txt / CMakeLists.txt: test_main_window and app build targets respectively Notes Producer logs to producer.log to keep stdout clean for the consumer All tests pass (ctest exit 0) ```ctest Test project /workspaces/azkoyentechnicaltest/build Start 1: test_sysfs_reader 1/5 Test #1: test_sysfs_reader ................ Passed 0.00 sec Start 2: test_producer 2/5 Test #2: test_producer .................... Passed 1.01 sec Start 3: test_ipc 3/5 Test #3: test_ipc ......................... Passed 0.01 sec Start 4: test_consumer 4/5 Test #4: test_consumer .................... Passed 0.05 sec Start 5: test_main_window 5/5 Test #5: test_main_window ................. Passed 0.01 sec 100% tests passed, 0 tests failed out of 5 Total Test time (real) = 1.09 sec ``` No new runtime dependencies beyond Qt5 Widgets/Test already in the project
unai added 4 commits 2026-03-10 18:54:18 +00:00
unai merged commit b8b83bc60b into main 2026-03-10 18:54:34 +00:00
unai deleted branch feature/MainApp 2026-03-10 18:54:34 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: unai/azkoyen_technical_test#7
No description provided.