@@ -184,7 +184,9 @@ def validate_pfm_type_strings(subkey, filename):
184184 print (f'{ filename } : WARNING: Subkey type "{ subkey ["pfm_type" ]} " is deprecated' )
185185 # passed = False
186186 elif subkey ["pfm_type" ] not in PLIST_TYPES :
187- print (f'{ filename } : Unexpected subkey type "{ subkey ["pfm_type" ]} "' )
187+ print (
188+ f'{ filename } : Unexpected subkey type { subkey ["pfm_type" ]} for { subkey .get ("pfm_name" )} '
189+ )
188190 passed = False
189191
190192 return passed
@@ -282,7 +284,7 @@ def validate_pfm_default(subkey, filename):
282284 # continue
283285 # else:
284286 desired_type = PLIST_TYPES [subkey ["pfm_type" ]]
285- if isinstance (subkey [test_key ], desired_type ):
287+ if not isinstance (subkey [test_key ], desired_type ):
286288 print (
287289 f"{ filename } : { test_key } value for { subkey .get ('pfm_name' )} should be type "
288290 f"{ PLIST_TYPES [subkey ['pfm_type' ]]} , not type { type (subkey [test_key ])} "
@@ -333,6 +335,7 @@ def validate_platforms(subkey, filename):
333335def validate_subkeys (subkeys , filename ):
334336 """Given a list of subkeys, run validation on their contents."""
335337 passed = True
338+ type_passed = True
336339
337340 for subkey in subkeys :
338341
@@ -355,6 +358,7 @@ def validate_subkeys(subkeys, filename):
355358 # Check for rogue pfm_type strings and deprecated keys.
356359 if not validate_pfm_type_strings (subkey , filename ):
357360 passed = False
361+ type_passed = False
358362
359363 # TODO: Suggest adding a title if one is missing
360364 # if "pfm_title" not in subkey:
@@ -378,7 +382,7 @@ def validate_subkeys(subkeys, filename):
378382 passed = False
379383
380384 # Check default values to ensure consistent type
381- if not validate_pfm_default (subkey , filename ):
385+ if type_passed and not validate_pfm_default (subkey , filename ):
382386 passed = False
383387
384388 # Validate URLs
0 commit comments