xref: /aosp_15_r20/external/sg3_utils/testing/README (revision 44704f698541f6367e81f991ef8bb54ccbf3fc18)
1
2
3The utilities in this directory are _not_ built automatically. So:
4    cd <root_of_sg3_utils_src>
5    ./configure ; make ; make install
6will _not_ build and install them. The make command (or some variant
7of it) needs to be run in this directory as outlined below.
8
9Building files in this directory depends on several files being already
10built in the ../lib directory. So to build files here, the ./configure
11needs to be executed in the parent directory followed by changing
12directory to the lib directory and calling 'make' there.
13Another way is to do a top level 'make' after the ./configure which
14will make the libraries followed by all the utilities in the src/
15directory. To make them in FreeBSD use 'make -f Makefile.freebsd' .
16
17The utilities in this directory do not have manpages. They have
18relatively complete but terse help messages, typically seen by using
19the '--help' option one or more times. If called several times, the
20shorter form of the help option is more convenient, for example: '-hhh'.
21And of course there is the source code. Unfortunately where the code
22implements many different options, it can become a bit dense. There
23is also a large amount of error checking, as many of these utilities
24were used to test new features placed in the sg v4 driver in Linux.
25
26The sg_chk_asc utility decodes the SCSI additional sense code table
27found at https://www.t10.org/lists/asc-num.txt and checks it against
28the table found in sg_lib_data.c in the lib/ subdirectory. It is
29designed to keep the table in sg_lib_data.c in "sync" with the
30table at the t10.org web site.
31
32The tst_sg_lib utility exercises several functions found in sg_lib.c
33and related files in the 'lib' sibling directory. Use 'tst_sg_lib -h'
34to get more information.
35
36There are both C and C++ files in this directory, they have extensions
37'.c' and '.cpp' respectively. Now both are built with rules in Makefile
38(at least in Linux). A gcc/g++ compiler of 4.7.3 vintage or later
39(or a recent clang compiler) will be required. To make them in FreeBSD
40use 'make -f Makefile.freebsd'.
41
42The sgh_dd utility (C++) uses 'libatomic' which may not be installed
43on some systems. On Debian based systems 'apt install libatomic1' fixes
44this.
45
46Douglas Gilbert
4717th September 2019
48