MCPcopy Create free account
hub / github.com/FastLED/FastLED / runSingleValidationTest

Function runSingleValidationTest

src/fl/channels/validation.cpp.hpp:13–84  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

11namespace fl {
12
13SingleTestResult runSingleValidationTest(const SingleTestConfig& config) {
14 SingleTestResult result;
15 result.driver = config.driver_name;
16 result.lane_count = static_cast<int>(config.lane_sizes.size());
17 result.lane_sizes = config.lane_sizes;
18 result.pattern = config.pattern;
19
20 // ========================================================================
21 // Input Validation
22 // ========================================================================
23
24 // Validate driver name
25 if (config.driver_name.empty()) {
26 result.success = false;
27 result.error_message = "Driver name cannot be empty";
28 return result;
29 }
30
31 // Validate lane count (1-16 lanes)
32 if (config.lane_sizes.empty()) {
33 result.success = false;
34 result.error_message = "Lane count must be at least 1";
35 return result;
36 }
37
38 if (config.lane_sizes.size() > 16) {
39 result.success = false;
40 result.error_message = "Lane count cannot exceed 16";
41 return result;
42 }
43
44 // Validate individual lane sizes (must be > 0)
45 for (size_t i = 0; i < config.lane_sizes.size(); i++) {
46 if (config.lane_sizes[i] <= 0) {
47 result.success = false;
48 fl::sstream ss;
49 ss << "Lane size at index " << i << " must be positive (got " << config.lane_sizes[i] << ")";
50 result.error_message = ss.str();
51 return result;
52 }
53 }
54
55 // Validate iterations (must be > 0)
56 if (config.iterations <= 0) {
57 result.success = false;
58 result.error_message = "Iterations must be positive";
59 return result;
60 }
61
62 // Validate pattern name (must not be empty)
63 if (config.pattern.empty()) {
64 result.success = false;
65 result.error_message = "Pattern name cannot be empty";
66 return result;
67 }
68
69 // ========================================================================
70 // Test Execution (Placeholder)

Callers 1

FL_TEST_FILEFunction · 0.85

Calls 3

sizeMethod · 0.45
emptyMethod · 0.45
strMethod · 0.45

Tested by

no test coverage detected