Skip to content

Commit 73f972a

Browse files
tallytalwarpixar-oss
authored andcommitted
Make usdchecker use the new validation framework by default.
Clients can still use the old and deprecated compliance checker interface by providing a --useOldComplianceCheckerInterface flag. (Internal change: 2376195)
1 parent dd434f8 commit 73f972a

File tree

2 files changed

+55
-50
lines changed

2 files changed

+55
-50
lines changed

pxr/usdValidation/bin/usdchecker/CMakeLists.txt

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -39,22 +39,22 @@ pxr_install_test_dir(
3939
)
4040

4141
pxr_register_test(testUsdChecker1
42-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker clean/clean.usd"
42+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useOldComplianceCheckerInterface clean/clean.usd"
4343
EXPECTED_RETURN_CODE 0
4444
)
4545

4646
pxr_register_test(testUsdChecker2
47-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker clean/clean_flat.usdc"
47+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useOldComplianceCheckerInterface clean/clean_flat.usdc"
4848
EXPECTED_RETURN_CODE 0
4949
)
5050

5151
pxr_register_test(testUsdChecker3
52-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker clean/clean.usdz"
52+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useOldComplianceCheckerInterface clean/clean.usdz"
5353
EXPECTED_RETURN_CODE 0
5454
)
5555

5656
pxr_register_test(testUsdChecker4
57-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker clean/clean_flat.usdz"
57+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useOldComplianceCheckerInterface clean/clean_flat.usdz"
5858
EXPECTED_RETURN_CODE 0
5959
)
6060

@@ -79,23 +79,23 @@ pxr_install_test_dir(
7979
)
8080

8181
pxr_register_test(testUsdChecker5
82-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --arkit clean/clean_arkit.usdz"
82+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useOldComplianceCheckerInterface --arkit clean/clean_arkit.usdz"
8383
EXPECTED_RETURN_CODE 0
8484
)
8585

8686
pxr_register_test(testUsdChecker6
87-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --arkit clean/clean_flat.usdc"
87+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useOldComplianceCheckerInterface --arkit clean/clean_flat.usdc"
8888
EXPECTED_RETURN_CODE 1
8989
)
9090

9191
# Adding a "rootPackageOnly" option to the command line will make the clean files
9292
pxr_register_test(testUsdChecker7
93-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --arkit --rootPackageOnly clean/clean_flat.usdz"
93+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useOldComplianceCheckerInterface --arkit --rootPackageOnly clean/clean_flat.usdz"
9494
EXPECTED_RETURN_CODE 0
9595
)
9696

9797
pxr_register_test(testUsdChecker8
98-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --arkit clean/clean_flat.usdz"
98+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useOldComplianceCheckerInterface --arkit clean/clean_flat.usdz"
9999
EXPECTED_RETURN_CODE 1
100100
)
101101

@@ -120,23 +120,23 @@ pxr_install_test_dir(
120120
)
121121

122122
pxr_register_test(testUsdChecker9
123-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker bad/badUsdz.usdz"
123+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useOldComplianceCheckerInterface bad/badUsdz.usdz"
124124
EXPECTED_RETURN_CODE 1
125125
)
126126

127127
pxr_register_test(testUsdChecker10
128-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --arkit --dumpRules bad/variants.usdc -o variants_failedChecks.txt"
128+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useOldComplianceCheckerInterface --arkit --dumpRules bad/variants.usdc -o variants_failedChecks.txt"
129129
DIFF_COMPARE variants_failedChecks.txt
130130
EXPECTED_RETURN_CODE 1
131131
)
132132

133133
pxr_register_test(testUsdChecker11
134-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker bad/brokenRef.usd"
134+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useOldComplianceCheckerInterface bad/brokenRef.usd"
135135
EXPECTED_RETURN_CODE 1
136136
)
137137

138138
pxr_register_test(testUsdChecker12
139-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --arkit bad/badShaderUnsupportedTexture.usdc"
139+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useOldComplianceCheckerInterface --arkit bad/badShaderUnsupportedTexture.usdc"
140140
EXPECTED_RETURN_CODE 1
141141
)
142142

@@ -146,7 +146,7 @@ pxr_install_test_dir(
146146
)
147147

148148
pxr_register_test(testUsdChecker13
149-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker clean/cleanNormalMapReader.usda"
149+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useOldComplianceCheckerInterface clean/cleanNormalMapReader.usda"
150150
EXPECTED_RETURN_CODE 0
151151
)
152152

@@ -158,8 +158,8 @@ if (NOT BUILD_SHARED_LIBS)
158158
return()
159159
endif()
160160

161-
# Following are all usdchecker tests using the new --useNewValidationFramework
162-
# flag. These tests are expected to pass with the new validation framework.
161+
# Following are all usdchecker tests using the new Validation Framework.
162+
# These tests are expected to pass with the new validation framework.
163163
pxr_install_test_dir(
164164
SRC testenv/testUsdChecker
165165
DEST testUsdChecker14
@@ -181,23 +181,23 @@ pxr_install_test_dir(
181181
)
182182

183183
pxr_register_test(testUsdChecker14
184-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useNewValidationFramework clean/clean.usd"
184+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker clean/clean.usd"
185185
EXPECTED_RETURN_CODE 0
186186
)
187187

188188

189189
pxr_register_test(testUsdChecker15
190-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useNewValidationFramework clean/clean_flat.usdc"
190+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker clean/clean_flat.usdc"
191191
EXPECTED_RETURN_CODE 0
192192
)
193193

194194
pxr_register_test(testUsdChecker16
195-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useNewValidationFramework clean/clean.usdz"
195+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker clean/clean.usdz"
196196
EXPECTED_RETURN_CODE 0
197197
)
198198

199199
pxr_register_test(testUsdChecker17
200-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useNewValidationFramework clean/clean_flat.usdz"
200+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker clean/clean_flat.usdz"
201201
EXPECTED_RETURN_CODE 0
202202
)
203203

@@ -223,7 +223,7 @@ pxr_install_test_dir(
223223
)
224224

225225
pxr_register_test(testUsdChecker18
226-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useNewValidationFramework --arkit clean/clean_arkit.usdz"
226+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --arkit clean/clean_arkit.usdz"
227227
EXPECTED_RETURN_CODE 0
228228
)
229229

@@ -232,19 +232,19 @@ pxr_register_test(testUsdChecker18
232232
#following are disabled.
233233

234234
#pxr_register_test(testUsdChecker19
235-
# COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useNewValidationFramework --arkit clean/clean_flat.usdc"
235+
# COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --arkit clean/clean_flat.usdc"
236236
# EXPECTED_RETURN_CODE 1
237237
#)
238238

239239
# "rootPackageOnly" won't report validation errors within the subpackages, so it should pass
240240
pxr_register_test(testUsdChecker20
241-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useNewValidationFramework --arkit --rootPackageOnly bad/sceneWithInvalidPackage.usda"
241+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --arkit --rootPackageOnly bad/sceneWithInvalidPackage.usda"
242242
EXPECTED_RETURN_CODE 0
243243
)
244244

245245
# Removing rootPackageOnly, should fail as the subpackage has invalid content
246246
pxr_register_test(testUsdChecker21
247-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useNewValidationFramework --arkit bad/sceneWithInvalidPackage.usda"
247+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --arkit bad/sceneWithInvalidPackage.usda"
248248
EXPECTED_RETURN_CODE 1
249249
)
250250

@@ -314,7 +314,7 @@ pxr_install_test_dir(
314314
)
315315

316316
pxr_register_test(testUsdChecker22
317-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useNewValidationFramework bad/badUsdz.usdz"
317+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker bad/badUsdz.usdz"
318318
EXPECTED_RETURN_CODE 1
319319
)
320320

@@ -325,76 +325,76 @@ pxr_register_test(testUsdChecker22
325325
# Simple variant file, showing all combination of variants being validated and
326326
# failing
327327
pxr_register_test(testUsdChecker23
328-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useNewValidationFramework --arkit --dumpRules bad/badVariants.usdc"
328+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --arkit --dumpRules bad/badVariants.usdc"
329329
EXPECTED_RETURN_CODE 1
330330
)
331331

332332
# Complex variants, with default variant being clean but still one of the
333333
# combination of variant failing.
334334
pxr_register_test(testUsdChecker24
335-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useNewValidationFramework bad/badVariants2.usda"
335+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker bad/badVariants2.usda"
336336
EXPECTED_RETURN_CODE 1
337337
)
338338

339339
# Explicitly set broken variant combination, should fail
340340
pxr_register_test(testUsdChecker25
341-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useNewValidationFramework bad/badVariants2.usda --variants testSet:test2,testSet2:test2C"
341+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker bad/badVariants2.usda --variants testSet:test2,testSet2:test2C"
342342
EXPECTED_RETURN_CODE 1
343343
)
344344

345345
# Explicitly set clean variant combination, should pass
346346
pxr_register_test(testUsdChecker26
347-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useNewValidationFramework bad/badVariants2.usda --variants testSet:test1,testSet2:test2A"
347+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker bad/badVariants2.usda --variants testSet:test1,testSet2:test2A"
348348
EXPECTED_RETURN_CODE 0
349349
)
350350

351351
# Explicitly set variant combination which doesn't exist (test2C doesn't exist
352352
# in testSet:test1 variant, should pass
353353
pxr_register_test(testUsdChecker27
354-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useNewValidationFramework bad/badVariants2.usda --variants testSet:test1,testSet2:test2C"
354+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker bad/badVariants2.usda --variants testSet:test1,testSet2:test2C"
355355
EXPECTED_RETURN_CODE 0
356356
)
357357

358358
# Explicitly set variantSets, one combination of testSet variantSet will fail
359359
pxr_register_test(testUsdChecker28
360-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useNewValidationFramework bad/badVariants2.usda --variantSets testSet"
360+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker bad/badVariants2.usda --variantSets testSet"
361361
EXPECTED_RETURN_CODE 1
362362
)
363363

364364

365365
# Complex variant example with variant on a prim changing its variantSet
366366
# This test should fail as the variantSet set1 has a variant ref2, which brings in more variantSets set2 and set3, and one of these defaults set3:D fails validation
367367
pxr_register_test(testUsdChecker29
368-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useNewValidationFramework bad/badVariants3.usda"
368+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker bad/badVariants3.usda"
369369
EXPECTED_RETURN_CODE 1
370370
)
371371

372372
# When running variantSets set1 explicitly, it traverses the set1:ref2 which again brings in a default set3:D which fails validation
373373
pxr_register_test(testUsdChecker30
374-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useNewValidationFramework bad/badVariants3.usda --variantSets set1"
374+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker bad/badVariants3.usda --variantSets set1"
375375
EXPECTED_RETURN_CODE 1
376376
)
377377

378378
# variantSets set2, set3 do not exist by default, as set1:ref1 default on the /World prim, doesn't bring in any new variant set via a reference and hence doesn't fail validation.
379379
pxr_register_test(testUsdChecker31
380-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useNewValidationFramework bad/badVariants3.usda --variantSets set2"
380+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker bad/badVariants3.usda --variantSets set2"
381381
EXPECTED_RETURN_CODE 0
382382
)
383383

384384
pxr_register_test(testUsdChecker32
385-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useNewValidationFramework bad/badVariants3.usda --variantSets set3"
385+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker bad/badVariants3.usda --variantSets set3"
386386
EXPECTED_RETURN_CODE 0
387387
)
388388

389389
# Running a specific variant combination which fails validation
390390
pxr_register_test(testUsdChecker33
391-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useNewValidationFramework bad/badVariants3.usda --variants set1:ref2,set2:A,set3:D"
391+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker bad/badVariants3.usda --variants set1:ref2,set2:A,set3:D"
392392
EXPECTED_RETURN_CODE 1
393393
)
394394

395395
# Running a specific variant with variants from a specific variantSet (one of this combination fails validation, set1:ref2 set3:D)
396396
pxr_register_test(testUsdChecker34
397-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useNewValidationFramework bad/badVariants3.usda --variants set1:ref2 --variantSets set3"
397+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker bad/badVariants3.usda --variants set1:ref2 --variantSets set3"
398398
EXPECTED_RETURN_CODE 1
399399
)
400400

@@ -409,12 +409,12 @@ pxr_install_test_dir(
409409
)
410410

411411
pxr_register_test(testUsdChecker35
412-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useNewValidationFramework bad/brokenRef.usd"
412+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker bad/brokenRef.usd"
413413
EXPECTED_RETURN_CODE 1
414414
)
415415

416416
pxr_register_test(testUsdChecker36
417-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useNewValidationFramework --arkit bad/badShaderUnsupportedTexture.usdc"
417+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --arkit bad/badShaderUnsupportedTexture.usdc"
418418
EXPECTED_RETURN_CODE 1
419419
)
420420

@@ -424,6 +424,6 @@ pxr_install_test_dir(
424424
)
425425

426426
pxr_register_test(testUsdChecker37
427-
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker --useNewValidationFramework clean/cleanNormalMapReader.usda"
427+
COMMAND "${CMAKE_INSTALL_PREFIX}/bin/usdchecker clean/cleanNormalMapReader.usda"
428428
EXPECTED_RETURN_CODE 0
429429
)

pxr/usdValidation/bin/usdchecker/usdchecker.cpp

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ struct Args {
6161
bool dumpRules = false;
6262
bool verbose = false;
6363
bool strict = false;
64-
bool useNewValidationFramework = false;
64+
bool useOldComplianceCheckerInterface = false;
6565
};
6666

6767
static
@@ -108,8 +108,13 @@ _Configure(CLI::App* app, Args& args) {
108108
"Return failure code even if only warnings are issued, for stricter\n"
109109
"compliance.");
110110
app->add_flag(
111-
"--useNewValidationFramework", args.useNewValidationFramework,
112-
"Enable the new validation framework.");
111+
"--useNewValidationFramework",
112+
"Default behavior, this option is IGNORED but retained to avoid client "
113+
"code breakage.")->group("");
114+
app->add_flag(
115+
"--useOldComplianceCheckerInterface",
116+
args.useOldComplianceCheckerInterface,
117+
"Use the old and now deprecated Compliance Checker interface.");
113118
app->add_option(
114119
"--variantSets", args.variantSets,
115120
"List of variantSets to validate. All variants for the given\n"
@@ -153,15 +158,15 @@ _ValidateArgs(const Args& args) {
153158
}
154159

155160
// variants option is only valid when using new validation framework.
156-
if (!args.variants.empty() && !args.useNewValidationFramework) {
161+
if (!args.variants.empty() && args.useOldComplianceCheckerInterface) {
157162
std::cerr<<"Error: The --variants option is only valid when using the "
158-
"--useNewValidationFramework option."<<"\n";
163+
"new ValidationFramework."<<"\n";
159164
return false;
160165
}
161166

162-
if (!args.variantSets.empty() && !args.useNewValidationFramework) {
167+
if (!args.variantSets.empty() && args.useOldComplianceCheckerInterface) {
163168
std::cerr<<"Error: The --variantSets option is only valid when using "
164-
"the --useNewValidationFramework option."<<"\n";
169+
"the new ValidationFramework."<<"\n";
165170
return false;
166171
}
167172

@@ -540,7 +545,7 @@ _UsdChecker(const Args& args)
540545
return 1;
541546
}
542547

543-
if (args.useNewValidationFramework) {
548+
if (!args.useOldComplianceCheckerInterface) {
544549
UsdValidationRegistry &validationReg =
545550
UsdValidationRegistry::GetInstance();
546551
UsdValidationValidatorMetadataVector metadata =
@@ -671,7 +676,7 @@ _UsdChecker(const Args& args)
671676

672677
std::cerr<<"usdchecker using UsdUtilsComplianceChecker requires Python "
673678
"support to be enabled in the build of USD. Its recommended to use "
674-
"--useNewValidationFramework which doesn't require any python "
679+
"the new ValidationFramework which doesn't require any python "
675680
"support.\n";
676681
return 1;
677682

@@ -786,8 +791,8 @@ main(int argc, char const *argv[]) {
786791
"attribute is checked, currently. General USD checks are always "
787792
"performed, and more restrictive checks targeted at distributable "
788793
"consumer content are also applied when the \"--arkit\" option is "
789-
"specified. In order to use the new validation framework provide the "
790-
"'--useNewValidationFramework' option.");
794+
"specified. In order to use the old compliance checker (deprecated) "
795+
"provide the '--useOldComplianceCheckerInterface' option.");
791796

792797
Args args;
793798
_Configure(&app, args);

0 commit comments

Comments
 (0)