#!/usr/bin/perl
#
# File test library program
# Programmed by Ken "Jigen" Hollis
#
# Update log:
#	01/20/95: Made the program
#

require 'file-test-lib.pl';

print "The File-test library TEST program\n";
print "Enter your filename below, or \"x\" to exit\n\n";

MAINLOOP: {
    print "FILENAME: ";
    $fts = <STDIN>;
    chop($fts);

    if ($fts eq "x") {
	exit;
    }

    print "\n";
    print "ATTRIBS: ";
    if (&is_exist($fts)) {
	if (&is_read($fts)) {
    	    print "Read ";
	}

	if (&is_write($fts)) {
	    print "Write ";
	}

	if (&is_exec($fts)) {
	    print "Exec ";
	}

	if (&is_user_own($fts)) {
	    print "User-own ";
	}

	if (&is_real_read($fts)) {
	    print "Real-read ";
	}

	if (&is_real_write($fts)) {
	    print "Real-write ";
	}

	if (&is_real_exec($fts)) {
	    print "Real-exec ";
	}

	if (&is_real_own($fts)) {
	    print "Real-owner ";
	}

	if (&is_exist($fts)) {
	    print "Exists ";
	}

	if (&is_exist_zero($fts)) {
	    print "Zero-byte ";
	}

	if (&is_exist_nonzero($fts)) {
	    print "Non-zero ";
	}

	if (&is_plain($fts)) {
	    print "Plain ";
	}

	if (&is_directory($fts)) {
	    print "Directory ";
	}

	if (&is_link($fts)) {
	    print "Symlink ";
	}

	if (&is_socket($fts)) {
	    print "Socket ";
	}

	if (&is_pipe($fts)) {
	    print "Pipe ";
	}

	if (&is_block_special($fts)) {
	    print "Block-Special ";
	}

	if (&is_char_special($fts)) {
	    print "Char-Special ";
	}

	if (&is_setuid($fts)) {
	    print "SETUID ";
	}

	if (&is_setgid($fts)) {
	    print "SETGID ";
	}

	if (&is_sticky_bit($fts)) {
	    print "Sticky-Bit ";
	}

	if (&is_isatty($fts)) {
	    print "isatty ";
	}

	if (&is_text($fts)) {
	    print "Text ";
	}

	if (&is_binary($fts)) {
	    print "Binary ";
	}

	if (&is_modification_age($fts)) {
	    print "Mod-Age ";
	}

	if (&is_access_age($fts)) {
	    print "Access-Age ";
	}

	if (&is_inode_modification($fts)) {
	    print "INODE-MOD";
	}

	print "\n\n";
    } else {
	print "NON-EXISTENT\n\n";
    }

    goto MAINLOOP;
}

