1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-03 17:56:21 +03:00
Dmitrii Kulikov 4b608f0bf8
Data Exchange, Step Import - Adding product attributes to metadata #315
Product attributes metadata for step files is now handled during import.
Attribute ReadProductMetadata is added to DESTEP_Parameters.
Method STEPCAFControl_Reader::ReadMetadata() is partially refactored.
Metadata tests for STEP are updated with new data.
Metadata tests for GLTF are updated with new data (since original
metadata in those tests is acquired from STEP files).
2025-02-01 17:16:21 +00:00

101 lines
2.9 KiB
Plaintext

# Set flag dump_file to 1 in order to regenerate script files with actual data
# used as reference. In this mode all tests intentionally report failure.
set dump_file 0
########################################################################
set mist 0;
set todo_msg ""
set todo_mask "puts \"TODO CR00000 ALL: "
set end_line "\" \n"
##################################################################
set conf "provider.STEP.OCC.read.productmetadata : 1"
# Read original file
if { [string length $filename] > 1} {
set path_file [locate_data_file $filename]
if { [catch { ReadFile D $path_file -conf $conf } catch_result] } {
set err_msg "Error: file was not read - exception "
puts $err_msg
append todo_msg $todo_mask $err_msg $end_line
set mist 1
}
} else {
set mist 1
}
# Get information about translation
if { $mist < 1} {
puts ""
set prop [ XGetProperties D ]
if { [llength $prop] < 0 } {
puts " Metadata was NOT provided"
}
}
if { $mist < 1} {
# Close the document
if { [catch { Close D } catch_result] } {
set err_msg "Error : cannot close a document D - exception"
puts $err_msg
append todo_msg $todo_mask $err_msg $end_line
}
}
if { $mist != 1 } {
puts ""
set result ""
append result [format $prop]
}
set ref_Compare 0
# Put reference data to the test script file if option "dump" is set
if { $dump_file == 1 } {
set fd_stream [open $dirname/$groupname/$gridname/$casename w]
fconfigure $fd_stream -encoding utf-8
puts $fd_stream "# !!!! This file is generated automatically, do not edit manually! See end script"
puts $fd_stream "set filename $filename"
if { $mist != 1 } {
puts $fd_stream ""
puts $fd_stream "set ref_data \{"
puts $fd_stream $result
puts $fd_stream "\}"
}
close $fd_stream
} elseif { $mist != 1 } {
puts "========================== Comparison with reference data ========"
# Comparison of reference data with obtained result
set ref_list [split $ref_data \n]
set cur_list [split $result \n]
set nb_ref [llength $ref_list]
for { set i 0 } { $i < $nb_ref } { incr i } {
set j [expr $i + 1]
set refstr [lindex $ref_list $j]
set curstr [lindex $cur_list $i]
set isOK 1;
if {[string equal $refstr $curstr] == 0} {
incr ref_Compare
puts "Reference data - $refstr\n"
puts "Current data - $curstr\n"
puts "----------------------------------------------\n"
}
}
}
if { $dump_file != 0 } {
puts "Error : Running in regeneration mode, comparison was not performed!"
if { $mist != 1 } {
puts "Generation of test file $groupname/$gridname/$casename successful"
} else {
puts "Generation of reference data failed"
}
} else {
if { $ref_Compare >= 1} {
puts "Error : differences with reference data found : $ref_Compare"
} else {
puts "Comparison of current result with reference data - OK\n"
}
}
puts "TEST COMPLETED"