1#!/bin/sh 2# SPDX-License-Identifier: GPL-2.0-or-later 3# Copyright (c) Linux Test Project, 2003-2021 4# 5# Test basic functionality of cpio command 6 7TST_TESTFUNC=cpio_test 8TST_NEEDS_TMPDIR=1 9TST_NEEDS_CMDS="cpio" 10TST_SETUP="setup" 11 12setup() 13{ 14 if ! cpio --help 2>&1 | grep -q -- '-o.*Create'; then 15 tst_brk TCONF "-o flag not supported" 16 fi 17 18 ARCHIVE_FORMAT= 19 20 if cpio 2>&1 | grep -q 'BusyBox'; then 21 ARCHIVE_FORMAT="-H newc" 22 fi 23} 24 25cpio_test() 26{ 27 ROD mkdir "dir" 28 for i in a b c d e f g h i j k l m n o p q r s t u v w x y z; do 29 ROD echo "Test" > "dir/$i" 30 done 31 32 ROD find dir -type f > filelist 33 EXPECT_PASS cpio -o $ARCHIVE_FORMAT \> cpio.out \< filelist 34 ROD mv "dir" "dir_orig" 35 ROD mkdir "dir" 36 EXPECT_PASS cpio -i \< cpio.out 37 38 if diff -r "dir" "dir_orig"; then 39 tst_res TPASS "Directories dir and dir_orig are equal" 40 else 41 tst_res TFAIL "Directories dir and dir_orig differ" 42 ls -R dir_orig 43 echo 44 ls -R dir 45 fi 46} 47 48. tst_test.sh 49tst_run 50