summaryrefslogtreecommitdiff
path: root/README.md
blob: 74927378e98e935a01718169675dab24efdcc13c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
\section{Usage}
		\subsection{prerequisites}
			SchemaFuzz requires the presence of a list of libraries to work properly which are :
			\begin{itemize}
			\item org.apache.commons.math3 >= 3.6
			available at \\*
			\url{https://commons.apache.org/proper/commons-math/download_math.cgi}
			\end{itemize}
The library has to be installed in the maven repository to be available. The instructions detailed at the following address explain how to do that. futher information can be found on the official maven website.\\*

			\url{https://www.mkyong.com/maven/how-to-include-library-manully-into-maven-local-repository/}

		\subsection{setting up the code}
			Once all the depencies have been installed successfully, clone the source available on the official git taler repository \\*
			\url{https://git.taler.net/schemafuzz.git}
			\begin{verbatim}
			 git clone https://git.taler.net/schemafuzz.git
			\end{verbatim}

the folder containing the code shoud hold the rights for reading writing and executing (rwx) for the user that plans to run the tool.
if this is not the case, you can give these rights like so
			\begin{verbatim}
			sudo chmod -R 700 schemafuzz
			\end{verbatim}
		\subsection{Building}
SchemaFuzz is using maven for building and library management purposes.
Therefore, using the maven command line building script is way to go.
Before building with Maven, you must install Postgres and create a
user "feideus" with password "feideus" and import the
{\tt sample_database/pagila-0.10.1/setup_test_table.sql} into a
database {\tt sample_database2}:
\begin{verbatim}
$ createuser -s -P feideus # as postgres user
$ createdb sample_database2
$ psql sample_database2 < sample_database/pagila-0.10.1/pagila-schema.sql
$ psql sample_database2 < sample_database/pagila-0.10.1/setup_test_table.sql
\end{verbatim}


Standard way of building is then:\\*
			\begin{verbatim}
			./mvnw package
			\end{verbatim}

This maven building method also offers alternative instructions for 	more precise/refined way of building as well as compilation and test
launching options (those should only be intresting for the contributors).

Launching the test suit :\\*
			\begin{verbatim}
			./mvnw test
			\end{verbatim}
Compiling the code :\\*
			\begin{verbatim}
			./mvnw compile
			\end{verbatim}

Other usefull commands: \\*

			\begin{verbatim}
			./mvnw clean
			\end{verbatim}
			\begin{verbatim}
			./mvnw validate
			\end{verbatim}
			\begin{verbatim}
			./mvnw deploy
			\end{verbatim}

		\subsection{Setting up the database}

Launch the "dbConfigure" script.
			\begin{verbatim}
				./dbConfigure
			\end{verbatim}