Beginner Help


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Beginner Help
# 1  
Old 01-30-2010
Beginner Help

I need to write a script to test a nsort c program. I have written 8 .txt files with different cases. Also 8 .txt files with expected outcome. The shell I have written always "test pass" for the first case but always "fail" for the rest... Here is a portion of my code (as I still don't know how to cut more than what's on the screen Smilie

Code:
#!/bin/sh

#
# test whether the nsort program is working alright
#
echo "Testing NSort..."
# run the output of our program
./nsort t1.txt > /tmp/test-A.$$

if
        # use the diff(1) program to compare and see if
        # there are any problems
        diff -q /tmp/test-A.$$ t1a.txt
then
        echo "TESTCASE: t1a - PASS"
else
        echo "TESTCASE: T1A - FAIL"
fi

rm -f /tmp/test-A.$$

# run the output of our program
./nsort t2.txt > /tmp/test-B.$$

if
        # use the diff(1) program to compare and see if
        # there are any problems
        diff -q /tmp/test-B.$$ t2a.txt
then
        echo "TESTCASE: t2a - PASS"
else
        echo "TESTCASE: t2a - FAIL"
fi

rm -f /tmp/test-B.$$

# run the output of our program
./nsort t3.txt > /tmp/test-C.$$

if
        # use the diff(1) program to compare and see if
        # there are any problems
        diff -q /tmp/test-C.$$ t3a.txt
then
        echo "TESTCASE: t3a - PASS"


BLA BLA BLA................. this continues til test 8...

Am I doing something wrong?

Last edited by pludi; 01-30-2010 at 04:06 PM.. Reason: code tags, please...
# 2  
Old 01-30-2010
Quote:
Originally Posted by thibodeau
BLA BLA BLA................. this continues til test 8...

Am I doing something wrong?
Yes, you repeat yourself 8 times Smilie
Write only one function and call that function for each file. Basically should look like:

Code:
#!/bin/sh -x
#---------------
my_function()
{
    echo $1
}
#---------------
for i in a b c d
do
    my_function $i
done

# 3  
Old 01-30-2010
Good point... but the fact is that the function returns a fail when it should pass... could you look at the code to see if something's wrong in the actual function?
# 4  
Old 01-30-2010
Is this homework? Other than that, did you verify that, in fact, the program output and your verification file do not differ?
# 5  
Old 01-30-2010
Yes it is homework...

I did verify the program output and the expected output file... the tests should all pass but the only one that does is the first one... does it have something to do with the tmp file that i make and delete? I know it may seem simple but this is my first time programming in c or shell... i've only done 1 yr in java...

---------- Post updated at 06:02 PM ---------- Previous update was at 05:55 PM ----------

I just tried switching the first and second tests so now my first test passes and second fail so it has nothing to do with the tmp files... the test that passes has no items to sort if that helps you...
# 6  
Old 01-30-2010
I'm sorry, but I'll have to close this thread down. There is a special forum for posting homework, as well as special rules.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Bash beginner

Hello so I've stored some csv data to be read into variables like this Name,Team,Shop,Shoe etc,etc,etc,etc Code: sep="," { while IFS=$sep read Name Team Shop Shoe do count=1 dirname=$Name while do ((count++)) dirname="${Name}$count" (4 Replies)
Discussion started by: darklord173
4 Replies

2. Red Hat

Help me please i am beginner

i have windows 8 host on Dell Laptop vmware 9 redhat 7.2 iso downloaded through redhat official site after installation on vm it only boots into text dont show graphics Please guide:( (1 Reply)
Discussion started by: hananabbas
1 Replies

3. Programming

beginner to c programming

hii friends i m fairy new to c programming.can any one suggest some good websites and some good books for beginner (6 Replies)
Discussion started by: pankajchandel
6 Replies

4. Shell Programming and Scripting

Beginner looking for help

Hello, I am trying to write a script that reads names from a file called input, removes names if they have the same letter next to each other and prints the others. e.g. Colin & John would be printed Garry & Lynn would be removed My thinking is that I read in each name and... (3 Replies)
Discussion started by: colinireland
3 Replies

5. UNIX for Dummies Questions & Answers

Beginner - What Should I Do First?

Hi people.... I have just started to learn unix.I want to know which version of Unix to install plus how to install it.I need to practise and make myself aware of how unix works.My thread is from an educational point of view.Also please feel free to give your suggestions as I am... (3 Replies)
Discussion started by: amit.kanade1983
3 Replies

6. Shell Programming and Scripting

beginner's question

i write a shell program and i execute that after i made a bin directiry in my home directory(i didnt give any permissions) now i change to other directory.then i execute it bit it is saying " no such a file or directory" can any one help me please (2 Replies)
Discussion started by: wkbn86
2 Replies

7. Shell Programming and Scripting

Need help for scripting beginner

hy guys, I have perl script provided to me but i need to convert it into shell .Can you help me in this using sed shell command. cat /etc/passwd |perl -ne '/^(\w+):\w+: (\w+)/ and print "$1, $2\n";' (1 Reply)
Discussion started by: singh_king
1 Replies

8. UNIX for Dummies Questions & Answers

Beginner Help

hi guys, i have a DEl xps laptop cor 2 duo 2.2 i have vista installed on it i want to install a dual Boot UNIX on it.. can some one guide me ...cause i m tottaly new to UNIX i want to install unix on that laptop along with Vista.... thx any help would be deeply appreciated (sorry if i... (5 Replies)
Discussion started by: Farhan082
5 Replies

9. Programming

Beginner C

Anyone know where I can get started in C++ programming in unix? Any good free tutorials or websites to start at? I am okay in unix scripting but have never done c programming of any sort... What are the main advantages of using C++ ? (2 Replies)
Discussion started by: frustrated1
2 Replies

10. Shell Programming and Scripting

Please help. I am a beginner.

Alrigt, I need to write a shell script where it counts the number of folders and files and dispays "My home directory has 'x' files and 'y' directories." So, I was thinking of doing this. set x = `ls | wc` so, if I have 8 files and folders in my home directory, x is not 8. now, I was... (1 Reply)
Discussion started by: Lykathea Aflame
1 Replies
Login or Register to Ask a Question