You've already forked goreleaser
mirror of
https://github.com/goreleaser/goreleaser.git
synced 2025-07-05 00:59:04 +02:00
added one more test to cover 2-level directory linking
This commit is contained in:
@ -286,6 +286,42 @@ func TestLinkDirectory(t *testing.T) {
|
|||||||
os.RemoveAll(dstDir)
|
os.RemoveAll(dstDir)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestLinkTwoLevelDirectory(t *testing.T) {
|
||||||
|
const srcDir = "/tmp/testdir"
|
||||||
|
const srcLevel2 = srcDir+"/level2"
|
||||||
|
const testFile = "test"
|
||||||
|
const dstDir = "/tmp/linkedDir"
|
||||||
|
|
||||||
|
os.Mkdir(srcDir, 0755)
|
||||||
|
os.Mkdir(srcLevel2, 0755)
|
||||||
|
err := ioutil.WriteFile(srcDir+"/"+testFile, []byte("foo"), 0644)
|
||||||
|
if err != nil {
|
||||||
|
t.Log("Cannot setup test file")
|
||||||
|
t.Fail()
|
||||||
|
}
|
||||||
|
err = ioutil.WriteFile(srcLevel2+"/"+testFile, []byte("foo"), 0644)
|
||||||
|
if err != nil {
|
||||||
|
t.Log("Cannot setup test file")
|
||||||
|
t.Fail()
|
||||||
|
}
|
||||||
|
err = directoryLink(srcDir, dstDir, nil)
|
||||||
|
if err != nil {
|
||||||
|
t.Log("Failed to link: ", err)
|
||||||
|
t.Fail()
|
||||||
|
}
|
||||||
|
if inode(srcDir+"/"+testFile) != inode(dstDir+"/"+testFile) {
|
||||||
|
t.Log("Inodes do not match")
|
||||||
|
t.Fail()
|
||||||
|
}
|
||||||
|
if inode(srcLevel2+"/"+testFile) != inode(dstDir+"/level2/"+testFile) {
|
||||||
|
t.Log("Inodes do not match")
|
||||||
|
t.Fail()
|
||||||
|
}
|
||||||
|
// cleanup
|
||||||
|
os.RemoveAll(srcDir)
|
||||||
|
os.RemoveAll(dstDir)
|
||||||
|
}
|
||||||
|
|
||||||
func inode(file string) uint64 {
|
func inode(file string) uint64 {
|
||||||
fileInfo, err := os.Stat(file)
|
fileInfo, err := os.Stat(file)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Reference in New Issue
Block a user