mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-12-03 08:46:55 +00:00
Add a script to detect changes in test files (#8020)
* add script to detect changes in test files * remove build failure test
This commit is contained in:
57
bin/utils/detect_test_file_changes.rb
Executable file
57
bin/utils/detect_test_file_changes.rb
Executable file
@@ -0,0 +1,57 @@
|
||||
#!/usr/bin/env ruby
|
||||
# ruby script to detect changes in test-related files
|
||||
require 'yaml'
|
||||
require 'digest'
|
||||
|
||||
hash = Digest::SHA256.hexdigest("xyz")
|
||||
|
||||
filename= ARGV[0]
|
||||
|
||||
if !filename
|
||||
puts "Usage: #{$0} filename"
|
||||
exit 1
|
||||
end
|
||||
|
||||
if !File.file? filename
|
||||
warn "Error. #{filename} doesn't exist."
|
||||
exit 1
|
||||
end
|
||||
|
||||
mismatch = 0
|
||||
count = 0
|
||||
|
||||
test_files = YAML.load_file(filename)
|
||||
test_files.each do |test_file|
|
||||
count = count + 1
|
||||
# file still exists?
|
||||
if !File.file? test_file['filename']
|
||||
warn "Error. Provided test file `#{test_file['filename']}` doesn't exist."
|
||||
mismatch = mismatch + 1
|
||||
end
|
||||
|
||||
# check sha256 hash
|
||||
sha256 = Digest::SHA256.hexdigest(File.read(test_file['filename']))
|
||||
if test_file['sha256'] != sha256
|
||||
warn "Looks like #{test_file['filename']} has been modified as its SHA256 `#{sha256}` is not the same as the one in the record: #{test_file['sha256']}"
|
||||
mismatch = mismatch + 1
|
||||
else
|
||||
# no change to the test file
|
||||
end
|
||||
end
|
||||
|
||||
if mismatch > 0
|
||||
warn "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
||||
warn "There are #{mismatch} mismatch. Please review the test files to ensure it has not been deleted/regenerated."
|
||||
warn "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
||||
exit 1
|
||||
else
|
||||
puts "OK. All matched!"
|
||||
end
|
||||
|
||||
if count == 0
|
||||
warn "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
||||
warn "Looks like the test file list in #{filename} is empty! Please check!"
|
||||
warn "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
||||
exit 1
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user