xref: /aosp_15_r20/external/toybox/tests/link.test (revision cf5a6c84e2b8763fc1a7db14496fd4742913b199)
1*cf5a6c84SAndroid Build Coastguard Worker#!/bin/bash
2*cf5a6c84SAndroid Build Coastguard Worker
3*cf5a6c84SAndroid Build Coastguard Worker# Copyright 2014 Divya Kothari <[email protected]>
4*cf5a6c84SAndroid Build Coastguard Worker# Copyright 2014 Naha Maggu <[email protected]>
5*cf5a6c84SAndroid Build Coastguard Worker
6*cf5a6c84SAndroid Build Coastguard Worker[ -f testing.sh ] && . testing.sh
7*cf5a6c84SAndroid Build Coastguard Worker
8*cf5a6c84SAndroid Build Coastguard Worker#testing "name" "command" "result" "infile" "stdin"
9*cf5a6c84SAndroid Build Coastguard Worker
10*cf5a6c84SAndroid Build Coastguard Workerecho "" >foo
11*cf5a6c84SAndroid Build Coastguard Workertesting "fails on non-existent file" "link foo/foo baz 2>/dev/null || echo GOOD" "GOOD\n" "" ""
12*cf5a6c84SAndroid Build Coastguard Workerrm -f foo bar
13*cf5a6c84SAndroid Build Coastguard Worker
14*cf5a6c84SAndroid Build Coastguard Workerecho file1 > file
15*cf5a6c84SAndroid Build Coastguard Workertesting "create_hardlink" "link file hlink && [ file -ef hlink ] &&
16*cf5a6c84SAndroid Build Coastguard Worker          echo 'yes'; rm  -rf hlink" "yes\n" "" ""
17*cf5a6c84SAndroid Build Coastguard Worker
18*cf5a6c84SAndroid Build Coastguard Workerecho hlink1 > hlink
19*cf5a6c84SAndroid Build Coastguard Workerset +e
20*cf5a6c84SAndroid Build Coastguard Workertesting "preserves_hardlinks" "link file hlink 2>/dev/null || echo 'yes'; rm -rf hlink" \
21*cf5a6c84SAndroid Build Coastguard Worker          "yes\n" "" ""
22*cf5a6c84SAndroid Build Coastguard Worker
23*cf5a6c84SAndroid Build Coastguard Workerecho file1 > file
24*cf5a6c84SAndroid Build Coastguard Workertesting "create_hardlink_and_remove_sourcefile" "link file hlink &&
25*cf5a6c84SAndroid Build Coastguard Worker          [ file -ef hlink ] && rm -rf file && [ -f hlink ] && echo 'yes'; rm -f file hlink" \
26*cf5a6c84SAndroid Build Coastguard Worker          "yes\n" "" ""
27