• Stars
    star
    1
  • Language
    Shell
  • Created over 5 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Tools for grading ACATS results, modified for Unix-like systems

ACATS Grading

The Ada Conformity Assessment Test Suite (ACATS) isn't all that simple to use. GCC has had an old version (2.5) of ACATS for a long time now (since 2007), available at build by make -C gcc check-acats, and here on Github there's a GCC-compatible version of the latest suite (4.1U at the time of writing, 2021-04-05).

ACATS supports a test grading utility, and there's a GNAT-compatible suite of utilities to support running the tests (not conclusively, human intervention is still required!). That suite was written for Windows: this version has been modified to run on Unix-like systems (macOS and Debian stretch, so far).

Setup

As written, this suite expects to be installed next to ACATS (that is, ../ACATS finds ACATS). Set up the tools and necessary Ada source by ./setup.sh.

The originator's test rationale and procedures are described in gnatinst.txt.

Compiler

Normally, the suite will run the tests using whichever GNAT suite is first in the PATH.

The llvm branch expects to find the GNAT LLVM suite in the PATH (i.e. it looks for llvm-gnatmake, llvm-gcc).

Running

It's best to run the suite in a different directory from its own.

Note, two of the tests (CXB5004 and CXB5005) require that the compiler in use supports Fortran. If it does, and you want to run these tests, set the environment variable HAS_FORTRAN to yes.

Build the supporting code by

$ /the/tool/directory/setup-working-directory.sh

Then, run the tests by

$ /the/tool/directory/grd-all.sh

This takes about 25 minutes on a early-2015 Macbook Pro with 2.9 GHz Intel Core i5, but note that up to and including FSF GCC 10 production compilers hang in C452003.

You could just move that test out of ACATS/tests/c4.

If you don't do that, then once you've started a run on macOS or Debian (tested on stretch) and got stuck you'll need to say killall gnatmake in another terminal tab/window. At any rate on macOS, this can leave gnat1 processes around, which will also need to be killed.

To test just one chapter, say c4, replace the last line by

$ /the/tool/directory/mkacats.sh c4

The results will be in g-g{chapter}.txt (in this case, g-gc4.txt).

If you only want to check a small number of tests, copy the test code (which may consist of more than one file) into a parallel directory in the test suite - e.g., ACATS/tests/new - and say

$ /the/tool/directory/mkacats.sh new

The instructions above do a one-time copy of gnat-man.txt (the manual grading file), so you can make any necessary changes before re-running the tests.

Results

The grades for a single-chapter (or new) run will be found in g-gchapter.txt, e.g. g-gc4.txt. To explore any failures, look in 41-chapter-results.txt.

For a full run, the single-chapter grades and results will be in the same files: the overall results will be in g-grade.txt.

More Repositories

1

cortex-gnat-rts

This project contains various GNAT Ada Run Time Systems (RTSs) targeted at Cortex boards: so far, the Arduino Due, the STM32F4-series evaluation boards from STMicroelectronics, and the BBC micro:bit (v1)
Ada
60
star
2

distributing-gcc

Binary releases of GCC (native and cross) on macOS; also, the scripts/Makefiles used for producing them.
Makefile
32
star
3

building-gcc-macos-native

Scripts for building GCC on macOS
Shell
11
star
4

ews

The Embedded Web Server is designed for use in embedded systems with limited resources (eg, no disk). It supports both static (converted from a standard web tree, including graphics and Java class files) and dynamic pages. It is written in GCC Ada.
Ada
11
star
5

stack_usage

Calculates the maximum stack depth required by GCC-compiled code
Python
10
star
6

analytical-engine

An Ada 2012 emulation of Charles Babbage’s Analytical Engine
Ada
9
star
7

ACATS

The Ada Conformity Assessment Test Suite, customised for GCC.
Ada
9
star
8

tcladashell

Ada binding to Tcl/Tk. Note, the copyright is GPL 2.0 + GMGPL
Ada
9
star
9

ASIS

Supports building the Ada Semantic Interface Specification library and tools for FSF GCC variants. Tracks AdaCore CE releases.
Ada
8
star
10

coldframe

ColdFrame generates Ada framework code and documentation from UML models.
Ada
8
star
11

nuweb.py

Literate programming in LaTeX; programming languages of your choice
Python
5
star
12

xia

An Ada implementation of XPath 1.0.
Ada
4
star
13

dhondt

Ada implementation of D’Hondt electoral result calculator
Ada
4
star
14

alire-index.mac

Index of Alire crate versions catering for macOS idiosyncrasies
4
star
15

building-gcc-macos-arm-eabi

Scripts for building GCC on macOS as a cross-compiler to arm-eabi
Shell
3
star
16

adagoop

Generator of object-oriented parsers in Ada
Ada
3
star
17

libadalang2xml

Generates an XML representation of Ada source using libadalang.
Ada
2
star
18

asis2xml

Converts Ada sources’ ASIS representation to XML, so as to make it easier to develop reporting and transformational tools using (for example) XSLT.
Ada
2
star
19

leak_detector

Reports memory leaks in Ada programs.
Ada
2
star
20

xcode_15_fix

Xcode/CLT version 15 introduced problems for Ada programming on macOS.
Ada
2
star
21

Quaternions

An Ada library to support using quaternions.
Ada
2
star
22

macos-sdks-vs-gcc

Provides GCC 'specs' files to cope with macOS SDK policy changes
Ada
1
star
23

synchronized_output

Supports text logging from multiple tasks
Ada
1
star
24

gnat_util

Provides access to GNAT compiler internals for AdaCore utilities
Makefile
1
star
25

scripted_testing

Supports functional testing using Tcl scripts.
Ada
1
star
26

minimal_containers

Just enough containers for ColdFrame.
Ada
1
star
27

trace_utilities

Support for presenting traceback information.
Ada
1
star
28

parallelize

Reads commands and executes them in parallel.
Ada
1
star