You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.5 KiB
42 lines
1.5 KiB
// Copyright 2016 The Chromium OS Authors. All rights reserved. |
|
// Use of this source code is governed by a BSD-style license that can be |
|
// found in the LICENSE file. |
|
|
|
#include "bsdiff/bspatch.h" |
|
|
|
#include <unistd.h> |
|
|
|
#include <gtest/gtest.h> |
|
|
|
#include "test_utils.h" |
|
|
|
namespace bsdiff { |
|
|
|
class BspatchTest : public testing::Test { |
|
protected: |
|
BspatchTest() |
|
: old_file_("bsdiff_oldfile.XXXXXX"), |
|
new_file_("bsdiff_newfile.XXXXXX") {} |
|
|
|
test_utils::ScopedTempFile old_file_; |
|
test_utils::ScopedTempFile new_file_; |
|
}; |
|
|
|
TEST_F(BspatchTest, IsOverlapping) { |
|
const char* old_filename = old_file_.c_str(); |
|
const char* new_filename = new_file_.c_str(); |
|
EXPECT_FALSE(IsOverlapping(old_filename, "does-not-exist", {}, {})); |
|
EXPECT_FALSE(IsOverlapping(old_filename, new_filename, {}, {})); |
|
EXPECT_EQ(0, unlink(new_filename)); |
|
EXPECT_EQ(0, symlink(old_filename, new_filename)); |
|
EXPECT_TRUE(IsOverlapping(old_filename, new_filename, {}, {})); |
|
EXPECT_TRUE(IsOverlapping(old_filename, old_filename, {}, {})); |
|
EXPECT_FALSE(IsOverlapping(old_filename, old_filename, {{0, 1}}, {{1, 1}})); |
|
EXPECT_FALSE(IsOverlapping(old_filename, old_filename, {{2, 1}}, {{1, 1}})); |
|
EXPECT_TRUE(IsOverlapping(old_filename, old_filename, {{0, 1}}, {{0, 1}})); |
|
EXPECT_TRUE(IsOverlapping(old_filename, old_filename, {{0, 4}}, {{2, 1}})); |
|
EXPECT_TRUE(IsOverlapping(old_filename, old_filename, {{1, 1}}, {{0, 2}})); |
|
EXPECT_TRUE(IsOverlapping(old_filename, old_filename, {{3, 2}}, {{2, 2}})); |
|
} |
|
|
|
} // namespace bsdiff
|
|
|