!This is the main driver to invoke different test functions PROGRAM _main IMPLICIT NONE INTEGER failed, success !Number of failed/succeeded tests INTEGER num_tests,crosschecked, crossfailed, j INTEGER temp,temp1 INCLUDE "omp_testsuite.f" INTEGER CHARACTER*50 logfilename !Pointer to logfile INTEGER result num_tests = 0 crosschecked = 0 crossfailed = 0 result = 1 failed = 0 !Open a new logfile or overwrite the existing one. logfilename = "bin/fortran/.log" ! WRITE (*,*) "Enter logFilename:" ! READ (*,*) logfilename OPEN (1, FILE = logfilename) WRITE (*,*) "######## OpenMP Validation Suite V 3.0a ######" WRITE (*,*) "## Repetitions:", N WRITE (*,*) "## Loop Count :", LOOPCOUNT WRITE (*,*) "##############################################" WRITE (*,*) crossfailed=0 result=1 WRITE (1,*) "--------------------------------------------------" WRITE (1,*) "Testing " WRITE (1,*) "--------------------------------------------------" WRITE (1,*) WRITE (1,*) "testname: " WRITE (1,*) "(Crosstests should fail)" WRITE (1,*) DO j = 1, N temp = () IF (temp .EQ. 1) THEN WRITE (1,*) j, ". test successful." success = success + 1 ELSE WRITE (1,*) "Error: ",j, ". test failed." failed = failed + 1 ENDIF END DO IF (failed .EQ. 0) THEN WRITE (1,*) "Directive worked without errors." WRITE (*,*) "Directive worked without errors." result = 0 WRITE (*,*) "Result:",result ELSE WRITE (1,*) "Directive failed the test ", failed, " times." WRITE (*,*) "Directive failed the test ", failed, " times." result = failed * 100 / N WRITE (*,*) "Result:",result ENDIF CALL EXIT (result) END PROGRAM