bionic (1) stilts-taplint.1.gz

Provided by: stilts_3.1.2-2_all bug

NAME

       stilts-taplint - Tests TAP services

SYNOPSIS

       stilts taplint [tapurl=<url-value>] [stages=TMV|TME|TMS|TMC|CPV|CAP|AVV|QGE|QPO|QAS|UWS|MDQ|OBS|UPL|EXA[
                      ...]] [maxtable=<int-value>] [format=text|json] [report=[EWISF]+] [maxrepeat=<int-value>]
                      [truncate=<int-value>] [debug=true|false] [syncurl=<url-value>] [asyncurl=<url-value>]
                      [tablesurl=<url-value>] [capabilitiesurl=<url-value>] [availabilityurl=<url-value>]
                      [examplesurl=<url-value>]

DESCRIPTION

       taplint  runs  a series of tests on a Table Access Protocol (TAP) service and reports the results. Unlike
       most of the other tools in this package it is not likely to be of use to normal users; its  intended  use
       is  for  people  developing  or  operating  TAP services to assess their services, perhaps with a view to
       improving compliance.

       Testing takes place in a number of stages; it is possible to choose which stages are run in by using  the
       stages parameter. The default output (format=text) is line-based text to standard output, and each report
       line is of the (fairly greppable)  form:  T-SSS-MMMMxN  aaaaa...  where  the  parts  have  the  following
       meanings:

         * T: Report type, one of E(rror), W(arning), I(nfo), S(ummary), F(ailure). See the documentation of the
           report parameter for further description of what these mean. The report  parameter  can  be  used  to
           suppress  some  of these; only E indicates actual service compliance errors, but including the others
           may make it easier to see what's going on.

         * SSS: Stage abbreviation, as used in the stages parameter. The stages parameter can be used to  select
           which stages are run.

         * MMMM:  Message  label,  which  is always the same for messages generated by the same test, is usually
           different for messages generated by different tests, and may be somewhat mnemonic.

         * x: Continuation indicator, either "-" or "+". In most cases it is "-", indicating the first line of a
           message,  but  multi-line  messages  (rare)  use  "-" for the first line and "+" for any continuation
           lines.

         * N: Sequence number, which is 1 for the first time message T-SSS-MMMM is reported,  and  increases  by
           one  for  each subsequent appearance. After a certain maximum (determined by the maxrepeat parameter)
           additional reports with the same code are no longer output individually, but a summary of the  number
           of  reports  so  discarded is written at the end of the section with the character "x" instead of the
           sequence number. This behaviour prevents the output being swamped by multiple  reports  of  the  same
           issue.  If  the  maxrepeat  parameter is increased above 9, more than one digit will be used here (so
           e.g. for maxrepeat=999, the format would be NNN not N).

         * aaaaa...: Message text, a free text description of what is being reported.

       If you don't like that format, others may be selected using the format parameter,  which  currently  also
       supports  JSON. For more flexible interaction with the output you can invoke taplint programmatically and
       supply your own instance.

       TAP is a complicated  beast,  referencing  many  standards  (including  TAP,  UWS,  VODataService,  ADQL,
       VOResource,  VOSI,  TAPRegExt,  DALI,  ObsCore,  VOTable,  HTTP,  RDFa  Lite),  and it is hard to write a
       validator which is comprehensive, especially one which can provide useful  output  for  services  with  a
       range  of  compliance  levels.  This  tool  tries to make a wide range of tests, but does not claim to be
       comprehensive. An idea of what tests it does perform  can  be  gained  from  the  stages  listed  in  the
       description of the stages parameter. It does make a fairly good job of checking that declared metadata is
       consistent and matches the data actually returned from queries, and it tests job submission  in  most  of
       the  various  ways  permitted  by  the  TAP  standard.  Things it does not test much include complex ADQL
       queries, coordinate/STC-related data types, queries in non-ADQL languages, and service registration.

OPTIONS

       tapurl=<url-value>
              The base URL of a Table Access  Protocol  service.  This  is  the  bare  URL  without  a  trailing
              "/[a]sync".

              The  default  values  of  the various endpoints (sync and async query submission, tables metadata,
              service-provided examples etc) use this URL as a parent and append  standard  sub-paths.  However,
              other  parameters (syncurl, asyncurl, ...) are provided so that the different endpoints can be set
              individually if required.

       stages=TMV|TME|TMS|TMC|CPV|CAP|AVV|QGE|QPO|QAS|UWS|MDQ|OBS|UPL|EXA[ ...]
              Lists the validation stages which the validator will perform. Each stage is represented by a short
              code, as follows:

                * TMV: Validate table metadata against XML schema (on)

                * TME: Check content of tables metadata from /tables (on)

                * TMS: Check content of tables metadata from TAP_SCHEMA (on)

                * TMC: Compare table metadata from /tables and TAP_SCHEMA (on)

                * CPV: Validate capabilities against XML schema (on)

                * CAP: Check content of TAPRegExt capabilities record (on)

                * AVV: Validate availability against XML schema (on)

                * QGE: Make ADQL queries in sync GET mode (on)

                * QPO: Make ADQL queries in sync POST mode (on)

                * QAS: Make ADQL queries in async mode (on)

                * UWS: Test asynchronous UWS/TAP behaviour (on)

                * MDQ: Check table query result columns against declared metadata (on)

                * OBS: Test implementation of ObsCore Data Model (on)

                * UPL: Make queries with table uploads (on)

                * EXA: Check content of examples document (on)
               You can specify a list of stage codes, separated by spaces. Order is not significant.

              Note  that removing some stages may affect the operation of others; for instance table metadata is
              acquired from the metadata stages, and avoiding those will mean that later  stages  that  use  the
              table metadata to pose queries will not be able to do so with knowledge of the database schema.

       maxtable=<int-value>
              Limits  the  number  of  tables from the service that will be tested. Currently, this only affects
              stage MDQ. If the value is left blank (the default), or if it is larger than the number of  tables
              actually present in the service, it will have no effect.

       format=text|json
              Determines the format of the output. Possible values are text, json.

              Note not all of the other parameters may be applicable to all output formats.

       report=[EWISF]+
              Letters  indicating  which  message types should be listed. Each character of the string is one of
              the letters , , , , with the following meanings:

                * E: Error in operation or standard compliance of the service.

                * W: Warning that service behaviour is questionable, or contravenes a  standard  recommendation,
                  but is not in actual violation of the standard.

                * I: Information about progress, for instance details of queries made.

                * S: Summary of previous successful/unsuccessful reports.

                * F:  Failure  of the validator to perform some testing. The cause is either some error internal
                  to the validator, or some error or missing functionality in the service which has already been
                  reported.

       maxrepeat=<int-value>
              Puts  a  limit  on  the number of times that a single message will be repeated. By setting this to
              some reasonably small number, you can ensure that the output does not get cluttered up by millions
              of repetitions of essentially the same error.

       truncate=<int-value>
              Limits the line length written to the output.

       debug=true|false
              If  true,  debugging output including stack traces will be output along with the normal validation
              messages.

       syncurl=<url-value>
              Sets the URL to use for the  sync  endpoint  of  the  TAP  service.  By  default,  this  would  be
              <tapurl>/sync  but  you  can set this parameter to some other location if required. If left blank,
              the default value is used.

       asyncurl=<url-value>
              Sets the URL to use for the async  endpoint  of  the  TAP  service.  By  default,  this  would  be
              <tapurl>/async  but  you can set this parameter to some other location if required. If left blank,
              the default value is used.

       tablesurl=<url-value>
              Sets the URL to use for the tables endpoint  of  the  TAP  service.  By  default,  this  would  be
              <tapurl>/tables  but you can set this parameter to some other location if required. If left blank,
              the default value is used.

       capabilitiesurl=<url-value>
              Sets the URL to use for the capabilities endpoint of the TAP service. By default,  this  would  be
              <tapurl>/capabilities  but  you can set this parameter to some other location if required. If left
              blank, the default value is used.

       availabilityurl=<url-value>
              Sets the URL to use for the availability endpoint of the TAP service. By default,  this  would  be
              <tapurl>/availability  but  you can set this parameter to some other location if required. If left
              blank, the default value is used.

       examplesurl=<url-value>
              Sets the URL to use for the examples endpoint of the  TAP  service.  By  default,  this  would  be
              <tapurl>/examples  but  you  can  set  this  parameter to some other location if required. If left
              blank, the default value is used.

SEE ALSO

       stilts(1)

       If the package stilts-doc is installed, the full documentation SUN/256 is available in HTML format:
       file:///usr/share/doc/stilts-doc/sun256/index.html

VERSION

       STILTS version 3.1-2-debian

       This is the Debian version of Stilts, which lack the support of some file formats and network  protocols.
       For differences see
       file:///usr/share/doc/stilts/README.Debian

AUTHOR

       Mark Taylor (Bristol University)

                                                    Mar 2017                                   STILTS-TAPLINT(1)