Testsuite

Nicholas A. Kraft

School of Computing at Clemson University

Table of Contents

1. Test Cases
1.1. Applications
1.1.1. Compiler Tools
1.1.2. Data Analysis
1.1.3. Desktop Publishing
1.1.4. Internet Messaging
1.1.5. SDL Games
1.1.6. Window Managers
1.2. Libraries
1.2.1. Graphics
1.2.2. Language Processing
1.2.3. Software Testing
1.2.4. X
2. Development Platform
2.1. Hardware
2.2. Operating System
2.3. Compilers
2.4. Third Party Versions

1. Test Cases

The following are provided for each test case:
  • Homepage
  • Version
  • GCC version used to generate .tu files
  • Omitted source directories
  • Number of C .tu files
  • Number of C++ .tu files
  • Extensions included in the source file count
  • Number of source files
  • Lines of code (LOC) in the source files
  • Non-blank, non-commented lines of code (NCLOC) in the source files

Omitted directories contribute to neither .tu counts nor line counts, but do contribute to source file counts.

Line counts are computed with Sclc.

1.1. Applications

1.1.1. Compiler Tools

1.1.1.1. Doxygen

Doxygen is a documentation system for C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors) and to some extent PHP, C#, and D.

  • Homepage...http://www.doxygen.org
  • Version....1.4.4
  • GCC........3.3.6
  • Omit.......libmd5/, libpng/, qtools/
  • TU
    • C.....0
    • C++...69
  • Source
    • Extensions...cpp, h, l, y
    • Files........198
    • LOC..........220,221
    • NCLOC........169,098

Note

Before running configure:
$ vi doxygen-1.4.4/tmake/lib/linux-g++/tmake.conf
Replace:
 TMAKE_CFLAGS_RELEASE = -O2
with:
 TMAKE_CFLAGS_RELEASE = -c -O0 -fdump-translation-unit-all

$ ./configure

1.1.1.2. Jikes

JikesTM is a compiler that translates JavaTM source files as defined in The Java Language Specification into the bytecoded instruction set and binary format defined in The Java Virtual Machine Specification.

  • Homepage...http://jikes.sourceforge.net
  • Version....1.22
  • GCC........3.3.6
  • TU
    • C.....0
    • C++...38
  • Source
    • Extensions...cpp, h
    • Files........74
    • LOC..........94,039
    • NCLOC........70,291

$ ./configure --enable-jikes-namespace --disable-fp-emulation

1.1.1.3. Keystone

Keystone is a parser and ASG generator for the ISO C++ language definition.

  • Homepage...http://keystone.sourceforge.net
  • Version....0.2.3
  • GCC........3.3.6
  • TU
    • C.....0
    • C++...52
  • Source
    • Extensions...cpp, h, l, tc, y
    • Files........117
    • LOC..........27,442
    • NCLOC........16,996

$ ./configure

1.1.2. Data Analysis

1.1.2.1. HippoDraw

HippoDraw provides a highly interactive data analysis environment.

  • Homepage...HippoDraw
  • Version....1.15.8
  • GCC........3.3.6
  • Omit.......OpenGL/, cmt/, examples/, fits/, numarray/, python/, root/, sip/
  • TU
    • C.....0
    • C++...249
  • Source
    • Extensions...cc, cpp, cxx, h
    • Files........594
    • LOC..........91,330
    • NCLOC........54,969

$ ./configure

1.1.3. Desktop Publishing

1.1.3.1. Scribus

Scribus is an open-source program that brings award-winning professional page layout to Linux/Unix, MacOS X and Windows desktops with a combination of "press-ready" output and new approaches to page layout.

  • Homepage...http://www.scribus.net
  • Version....1.2.3
  • GCC........3.3.6
  • Omit.......plugins/, libabout/, libpdf/, libpostscript/, libprefs/
  • TU
    • C......17
    • C++....110
  • Source
    • Extensions...c, cpp, h
    • Files........256
    • LOC..........94,518
    • NCLOC........81,603

$ ./configure --with-qt-dir=/usr/lib/qt

1.1.4. Internet Messaging

1.1.4.1. Licq

Licq is a multi-threaded ICQ clone written mostly in C++.

  • Homepage...Licq
  • Version....1.3.0
  • GCC........3.3.6
  • Omit.......plugins/
  • TU
    • C.....12
    • C++...28
  • Source
    • Extensions...c, cc, cpp, h, ll
    • Files........83
    • LOC..........45,782
    • NCLOC........36,405

$ ./configure --disable-socks5 --disable-gpgme --enable-openssl --disable-nls

1.1.5. SDL Games

1.1.5.1. AvP

Linux port of the Fox Interactive/Rebellion Developments game, Aliens vs Predator (Gold Edition).

  • Homepage...http://www.icculus.org/avp
  • Version....cvs.050722
  • GCC........3.3.4
  • TU
    • C......127
    • C++....95
  • Source
    • Extensions...c, cpp, h, hpp
    • Files........507
    • LOC..........395,608
    • NCLOC........295,549

1.1.5.2. FreeSpace 2

Linux port of the game Freespace 2, by Volition, Inc.

1.1.5.3. Scorched 3D

Scorched 3D is a game based loosely (or actually quite heavily now) on the classic DOS game Scorched Earth "The Mother Of All Games". Scorched 3D adds amongst other new features a 3D island environment and LAN and internet play. Scorched 3D is totally free and is available for both Microsoft Windows and Unix (Linux, FreeBSD, Mac OS X, Solaris etc.) operating systems.

  • Homepage...http://www.scorched3d.co.uk
  • Version....38.1
  • GCC........3.3.4
  • TU
    • C......21
    • C++....492
  • Source
    • Extensions...c, cpp, h
    • Files........1,066
    • LOC..........151,012
    • NCLOC........102,286

$ ./configure

1.1.6. Window Managers

1.1.6.1. FluxBox

Fluxbox is yet another windowmanager for X. It's based on the Blackbox 0.61.1 code. Fluxbox looks like blackbox and handles styles, colors, window placement and similar thing exactly like blackbox (100% theme/style compability).

  • Homepage...http://fluxbox.sourceforge.net
  • Version....0.9.14
  • GCC........3.3.6
  • Omit.......util/
  • TU
    • C......0
    • C++....107
  • Source
    • Extensions...cc, hh
    • Files........233
    • LOC..........49,387
    • NCLOC........32,032

$ ./configure

1.2. Libraries

1.2.1. Graphics

1.2.1.1. Pixie

Pixie is a RenderMan like photorealistic renderer. It is being developed in the hope that it will be useful for graphics research and for people who can not afford a commercial renderer. One of the biggest considerations in Pixie's development is the modularity.

  • Homepage...Pixie
  • Version....1.5.2
  • GCC........3.3.6
  • TU
    • C.....8
    • C++...78
  • Source
    • Extensions...c, cpp, h, l, y
    • Files........194
    • LOC..........484,078 (including 359,138 in one data file)
    • NCLOC........442,894 (including 359,084 in one data file)

$ ./configure

1.2.2. Language Processing

1.2.2.1. g4re

  • Homepage...http://g4re.sourceforge.net
  • Version....1.0.6
  • GCC........3.3.6
  • TU
    • C.....0
    • C++...68
  • Source
    • Extensions...cpp, h
    • Files........145
    • LOC..........19,440
    • NCLOC........10,197

$ ./configure

1.2.2.2. Scintilla

Scintilla is a free source code editing component. As well as features found in standard text editing components, Scintilla includes features especially useful when editing and debugging source code. These include support for syntax styling, error indicators, code completion and call tips.

  • Homepage...http://www.scintilla.org
  • Version....1.66
  • GCC........3.3.6
  • TU
    • C.....1
    • C++...78
  • Source
    • Extensions...c, cxx, h
    • Files........107
    • LOC..........44,058
    • NCLOC........35,725

1.2.3. Software Testing

1.2.3.1. CppUnit

CppUnit is the C++ port of the famous JUnit framework for unit testing. Test output is in XML or text format for automatic testing and GUI based for supervised tests.

  • Homepage...http://cppunit.sourceforge.net
  • Version....1.10.2
  • GCC........3.3.6
  • Omit.......examples/
  • TU
    • C.....0
    • C++...51
  • Source
    • Extensions...cpp, h
    • Files........59
    • LOC..........5,296
    • NCLOC........3,768

$ ./configure

1.2.4. X

1.2.4.1. FOX

FOX stands for Free Objects for X. It is a C++ based class library for building Graphical User Interfaces. Initially, it was developed for Linux, but the scope of this project has in the course of time become somewhat more ambitious. Current aims are to make FOX completely platform independent, and thus programs written against the FOX library will be only a compile away from running on a variety of platforms.

  • Homepage...http://www.fox-toolkit.org
  • Version....1.4.17
  • GCC........3.3.6
  • Omit.......adie/, calculator/, chart/, pathfinder/, shutterbug/, tests/, utils/, windows/
  • TU
    • C.....0
    • C++...245
  • Source
    • Extensions...cpp, h
    • Files........474
    • LOC..........174,547
    • NCLOC........109,089

$ ./configure

2. Development Platform

2.1. Hardware

  • CPU...Dual Core AMD OpteronTM Processor 165
  • RAM...2048 MB, PC3200 DDR
  • HDD...250 GB, 7200 RPM SATA II

2.2. Operating System

2.3. Compilers

  • gcc-3.3.6
    • Default Slackware 10.2 installation.
      $ /usr/bin/gcc -v
      
      Reading specs from /usr/lib/gcc-lib/i486-slackware-linux/3.3.6/spec6
      Configured with: ../gcc-3.3.4/configure --prefix=/usr --enable-shared \
                                              --enable-threads=posix        \
                                              --enable-__cxa_atexit         \
                                              --disable-checking            \
                                              --with-gnu-ld                 \
                                              --verbose                     \
                                              --target=i486-slackware-linux \
                                              --host=i486-slackware-linux
      Thread model: posix
      gcc version 3.3.6
      
  • gcc-4.1.1
    • Custom installation.
      $ cd /usr/local/src
      $ tar jxf gcc-4.1.1.tar.bz2
      $ mkdir gcc-build-4.1.1
      $ cd gcc-build-4.1.1
      $ ../gcc-4.1.1/configure (see below)
      $ make bootstrap
      $ make install
      $ /usr/local/gcc-4.1.1/bin/gcc -v
      
      Using built-in specs.
      Target: i686-pc-linux-gnu
      Configured with: ../gcc-4.1.1/configure --prefix=/usr/local/gcc-4.1.1 \
                                              --enable-shared          \
                                              --with-gnu-ld            \
                                              --enable-threads=posix   \
                                              --enable-__cxa_atexit    \
                                              --enable-languages=c,c++ \
                                              --disable-checking       \
                                              --disable-nls
      Thread model: posix
      gcc version 4.1.1
      

2.4. Third Party Versions