Run manifest semantic validation regression checks.
83 {
84 {
85 auto manifest = MakeValidManifest();
87 }
88
89 {
90 auto bad = MakeValidManifest();
91 bad.schema_version = "1.0";
93 }
94
95 {
96 auto bad = MakeValidManifest();
97 bad.artifact.files.checkpoint.clear();
99 }
100
101 {
102 auto bad = MakeValidManifest();
103 bad.artifact.files.checkpoint = "../best.pt";
105 }
106
107 {
108 auto bad = MakeValidManifest();
109 bad.frozen_contract.preprocessing.max_num_points = 0;
111 }
112
113 {
114 auto bad = MakeValidManifest();
115 bad.frozen_contract.postprocessing.class_names = {"car"};
117 }
118
119 {
120 auto bad = MakeValidManifest();
121 bad.runtime_defaults.postprocessing.nms_score_thresholds = {};
123 }
124
125 {
126 auto bad = MakeValidManifest();
127 bad.artifact.outputs.clear();
129 }
130
131 {
132 auto bad = MakeValidManifest();
133 bad.runtime_defaults.preprocessing.point_feature.value_threshold = 0.0f;
135 }
136
137 {
138 auto bad = MakeValidManifest();
139 bad.frozen_contract.preprocessing.point_feature_normalization.type = "min_max";
140 bad.frozen_contract.preprocessing.point_feature_normalization.min_value = 5.0f;
141 bad.frozen_contract.preprocessing.point_feature_normalization.max_value = 5.0f;
143 }
144
145 {
146 auto bad = MakeValidManifest();
147 bad.frozen_contract.preprocessing.point_feature_normalization.type = "unsupported";
149 }
150
151 return 0;
152}
void ValidateModelManifest(const ModelManifest &manifest)