mirror of
https://github.com/cpm-cmake/CPM.cmake.git
synced 2025-11-19 07:37:42 -05:00
* Add ASSERT_CONTENTS_EQUAL test macro in testing.cmake Checks if the contents of a file matches the given input * Use shorter hashes with CPM_SOURCE_CACHE (#624) Uses shorter hashes with CPM_SOURCE_CACHE. Falls back to a longer hash if necessary (ie, if there's a collision with an existing hash). See: https://github.com/cpm-cmake/CPM.cmake/issues/624 * Update integration tests to support shorter hashes * trigger ci * run cmake-format * if already available, use the legacy cache hash * create temporary file in current binary dir * add test case for legacy hash --------- Co-authored-by: Lars Melchior <lars.melchior@gmail.com> Co-authored-by: Lars Melchior <TheLartians@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
d7614381ab
commit
d9364ce284
@@ -75,6 +75,17 @@ class SourceCache < IntegrationTest
|
||||
assert_equal ver, package.ver
|
||||
expected_parent_dir = File.join(@cache_dir, name.downcase)
|
||||
assert package.src_dir.start_with?(expected_parent_dir), "#{package.src_dir} must be in #{expected_parent_dir}"
|
||||
assert_equal dir_sha1, File.basename(package.src_dir)
|
||||
|
||||
# The hash has been shortened by cpm_get_shortest_hash. The following
|
||||
# should hold:
|
||||
# - The short hash should be a prefix of the input hash
|
||||
# - There should be a file ".../${short_hash}.hash" which matches the full hash
|
||||
short_hash = File.basename(package.src_dir)
|
||||
assert dir_sha1.start_with?(short_hash), "short_hash should be a prefix of dir_sha1"
|
||||
|
||||
# Check that the full hash is stored in the .hash file
|
||||
hash_file = "#{package.src_dir}.hash"
|
||||
assert File.exist?(hash_file), "Hash file #{hash_file} should exist"
|
||||
assert_equal dir_sha1, File.read(hash_file), "Hash file should contain the full original hash"
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user