< Summary - Backend C Tests - Coverage Report (WSL)

Information
Class: test_machine_service_c
Assembly: src.backend.tests.unit.database
File(s): ./src/backend/tests/unit/database/test_machine_service.c
Line coverage
100%
Covered lines: 44
Uncovered lines: 0
Coverable lines: 44
Total lines: 62
Line coverage: 100%
Branch coverage
50%
Covered branches: 7
Total branches: 14
Branch coverage: 50%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Coverage history

Coverage history 0 25 50 75 100 2/18/2026 - 10:50:55 PM Line coverage: 100% (44/44) Branch coverage: 50% (7/14) Total lines: 62 2/18/2026 - 10:50:55 PM Line coverage: 100% (44/44) Branch coverage: 50% (7/14) Total lines: 62

File(s)

./src/backend/tests/unit/database/test_machine_service.c

#LineLine coverage
 1#include "../../../database/machine_service.h"
 2#include "../../../database/db_connection.h"
 3#include <stdio.h>
 4#include <assert.h>
 5#include <string.h>
 6
 7// Mock test - requires actual DB connection for integration tests
 18void test_machine_struct_size() {
 9  Machine m;
 10  assert(sizeof(m.name) == 100);
 11  assert(sizeof(m.model) == 50);
 12  assert(sizeof(m.location) == 100);
 13  assert(sizeof(m.status) == 20);
 114  printf("[PASS] Machine struct: correct field sizes\n");
 115}
 16
 117void test_machine_initialization() {
 118  Machine m = {0};
 119  m.id = 1;
 120  strcpy(m.name, "Test Machine");
 121  strcpy(m.status, "operational");
 122  assert(m.id == 1);
 123  assert(strcmp(m.name, "Test Machine") == 0);
 124  assert(strcmp(m.status, "operational") == 0);
 125  printf("[PASS] Machine initialization: fields set correctly\n");
 126}
 27
 128void test_machine_name_boundary() {
 129  Machine m = {0};
 30  char long_name[150];
 131  memset(long_name, 'A', 149);
 132  long_name[149] = '\0';
 133  strncpy(m.name, long_name, 99);
 134  m.name[99] = '\0';
 135  assert(strlen(m.name) == 99);
 136  printf("[PASS] Machine name: boundary check passed\n");
 137}
 38
 139void test_machine_status_values() {
 140  Machine m1 = {.id = 1};
 141  strcpy(m1.status, "operational");
 142  Machine m2 = {.id = 2};
 143  strcpy(m2.status, "maintenance");
 144  Machine m3 = {.id = 3};
 145  strcpy(m3.status, "fault");
 146  assert(strcmp(m1.status, "operational") == 0);
 147  assert(strcmp(m2.status, "maintenance") == 0);
 148  assert(strcmp(m3.status, "fault") == 0);
 149  printf("[PASS] Machine status: all valid states\n");
 150}
 51
 152int main() {
 153  printf("=== Machine Service Unit Tests ===\n");
 154  printf("Note: These are structure tests. Integration tests require DB connection.\n\n");
 155  test_machine_struct_size();
 156  test_machine_initialization();
 157  test_machine_name_boundary();
 158  test_machine_status_values();
 159  printf("\n✅ All Machine Service unit tests passed!\n");
 160  printf("⚠️  Run integration tests with active PostgreSQL connection for full coverage.\n");
 161  return 0;
 62}

Methods/Properties