blob: ce59abbfe13a878aa16df49fd8ab55e39cd88961 [file] [log] [blame]
% Manual Tests for the GNU Managed Build Toolchain
\vspace{-0.5in}
{\scriptsize Last modified December 5, 2011}
\textit{This appendix describes the procedure for manually validating support
for the GNU Fortran toolchain in the managed build system.}
\begin{enumerate}
\item[] \textbf{Setup}
\item Create a new managed build Fortran project using the ``Executable (Gnu Fortran on [your platform])'' project type.
\item In the project properties, under Fortran Build $>$ Settings, check the following.
\begin{enumerate}
\item In the Tool Settings tab, ensure that ``GNU Fortran Compiler'' and ``GNU Fortran Linker'' are listed.
\item In the Error Parsers tab, ensure that the ``Photran Error Parser for GNU Fortran'' is checked.
\item In the Binary Parsers tab, ensure that the correct binary parser is checked: PE Windows Parser for Windows, Elf Parser for Linux, or Mach-O 64 for Mac OS X.
\end{enumerate}
\item[] \textbf{Basic Free Form Compilation Test}
\item Add a file named \texttt{hello.f90} to the project root with the following contents. \\
\begin{minipage}{3in}
\begin{verbatim}
print *, "Hello"
end program
\end{verbatim}
\end{minipage}
\item Build the program. Ensure that the build completes successfully and that both of the following lines are present in the Console view. \\
{\footnotesize \verb!gfortran -funderscoring -O0 -g -Wall -c -fmessage-length=0 -o "hello.o" "../hello.f90"!} \\
{\footnotesize \verb!gfortran -o "Test" ./hello.o!}
\item Select the Debug/Test binary in the Project Explorer, and run it via Run $>$ Run As $>$ Local Fortran Application. Ensure that the Console view contains the output ``Hello''.
\item[] \textbf{Basic Error Parser Test}
\item Change the second line of hello.f90 to the following. \\
\verb*!end program thisisincorrect!
\item Save the file and build the project. Ensure that an error marker appears next to line 2 and that the Problems view contains ``../hello.f90:2.27: Error: Syntax error in END PROGRAM statement at (1)''
\item[] \textbf{Basic Fixed Form Compilation and Error Parser Test}
\item If hello.f90 is open in an editor, close that editor.
\item Rename the file \texttt{hello.f90} to \texttt{hello.f} and change its contents to the following. Spacing must be exact: the second line must begin in column 7 and the third in column 6. \\
\begin{minipage}{3in}
\begin{verbatim*}
c Testing
print *,
* "Testing"
99999 end
\end{verbatim*}
\end{minipage}
\item Build the project. Ensure that a warning marker appears next to line 4 with ``Warning: Label 99999 at (1) defined but not used''
\item Ensure that the program runs and produces the output ``Testing'' in the Console view.
\item[] \textbf{Compilation Options Test}
\item In the project properties, under Fortran Build $>$ Settings, switch to the Tool Settings tab, and change settings as follows.
\begin{enumerate}
\item Under GNU Fortran Compiler $>$ Symbols, change Symbol Underscoring to ``None (-fno-underscoring)''.
\item Under GNU Fortran Compiler $>$ Directories, add ``/home'' to the list of Include paths.
\item Under GNU Fortran Compiler $>$ Optimization, change the Optimization Level to ``Optimize most (-O3)''.
\item Under GNU Fortran Compiler $>$ Debugging, change Debug Level to ``None''.
\item Under GNU Fortran Compiler $>$ Debugging, check the ``Generate gprof information (-pg)'' checkbox.
\item Under GNU Fortran Compiler $>$ Warnings, check the ``Pedantic (-pedantic)'' checkbox.
\item Under GNU Fortran Compiler $>$ Warnings, check the ``Warnings as errors (-Werror)'' checkbox.
\end{enumerate}
\item Build the project. Ensure that the Console view includes the following line. \\
{\footnotesize \verb!gfortran -fno-underscoring -I/home -O3 -pg -pedantic -Wall -Werror -c -fmessage-length=0 -o "hello.o" "../hello.f"!}
\item[] \textbf{Dependency Test}
\item Change the contents of \texttt{hello.f} to the following. \\
\begin{minipage}{3in}
\begin{verbatim*}
c Testing
use module
call hello
99999 end
\end{verbatim*}
\end{minipage}
\item Create a second file named \texttt{module.f90} in the project root with the following contents. \\
\begin{minipage}{3in}
\begin{verbatim*}
module module
contains
subroutine hello
print *, "Hello from module"
end subroutine
end module
\end{verbatim*}
\end{minipage}
\item Build the project. In the Console view, ensure that \texttt{module.f90} is compiled \textit{before}
\texttt{hello.f}. Ensure that the build completes successfully and the resulting executable produces the
output ``Hello from module''.
\end{enumerate}
% THESE TESTS DO NOT WORK AT THE PRESENT TIME
%
%Nonstandard Filename Extension Test
%
%12. In the workbench preferences, navigate to General > Content Types. Under the Text > Fortran Source File content type, add "*.ftest" (if it is not already there).
%
%13. In the project properties, navigate to the Fortran General > Source Form category. Ensure that *.FTEST and *.ftest are listed. Change the source form for "*.ftest" (note the lowercase filename extension) to "Fixed Form - INCLUDE lines ignored"
%
%14. If hello.f is open in an editor, close that editor.
%
%15. Rename hello.f to hello.ftest.
%
%16. Double-click hello.ftest in the Project Explorer. It should open in the fixed form editor.
%
%17. Build the project. The build should fail with an error: "hello.ftest: linker input file unused because linking not done"