ntt

module
v0.9.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 6, 2021 License: BSD-3-Clause

README

Go Report Card Build Status


Documentation  |   Installation  |   Contact  |   Contribute


ntt is a free and open toolset for language agnostic testing with TTCN-3. It provides IDE support, code generators and much more. Have a look at the documentation page for further details.

ntt is written in native Go and has full support for TTCN-3 Core Language Specification v4.11.1 and various extensions. Without cutting corners, it is one of the fastest TTCN-3 tools available

Install

The Visual Studio Code Extension and the vim-lsp-settings should install and update ntt automatically. But it's also possible to install ntt manually.

You can choose between installing the pre-built binaries or compiling NTT from source. Using the binaries is usually easier. Compiling from source means you have more control.

Please note, ntt helper tools, like the FindNTT.cmake or ntt-mcov are not included in pre-built binary packages, yet. Consider building from source.

Install pre-built binaries

We provide pre-built binaries for Mac, Windows and Linux and for various architectures:

Windows Installer

We provide a Microsoft Windows Installer. The advantage of this installer is it configures your PATH settings, so ntt is reachable from shells. This allows you to start hacking without any ado.

We have not signed the installer, though.

Debian Packages

Download the .deb package from the releases page and install with dpkg -i.

RPM Packages

Download the .rpm package from the releases page and install with package manager of your choice. You can also install directly from the internet:

sudo dnf install https://github.com/nokia/ntt/releases/latest/download/ntt.x86_64.rpm

Go Get Method

If you have Go installed, you may easily install our commands by using the go-get method:

 go get github.com/nokia/ntt/cmd/...

However note, this will install latest ntt from master branch and thus the version might not be correct:

$ ntt version
ntt dev, commit none, built at unknown

Compiling from Source

ntt requires a Go compiler >= 1.13, git and make to build. To build and install simply call:

make
sudo make install

You may control installation by specifying PREFIX and DESTDIR variables. For example:

make PREFIX=/
make install DESTDIR=$HOME/.local

Contact us

If you have questions, you are welcome to contact us at ntt@groups.io.

You want to contribute? That's great! Kindly read our contribution guide for more details.

Project Status

ntt is used by Nokia 4G and 5G in production. By developers and also by our build automation environment, running millions of TTCN-3 tests per day.
But ntt is still in development and not all features have the same good test coverage. We recommend verifying ntt functionality before using it in your automation environment.

License

This project is licensed under the BSD-3-Clause license - see the LICENSE.

Directories

Path Synopsis
cmd
ntt
internal
env
fs
Package fs provides a primitive virtual file system.
Package fs provides a primitive virtual file system.
loc
Package loc provides space-efficient mapping of source code locations.
Package loc provides space-efficient mapping of source code locations.
log
Package log provides uniform logging and tracing interfaces for ntt.
Package log provides uniform logging and tracing interfaces for ntt.
lsp
Package lsp implements LSP for gopls.
Package lsp implements LSP for gopls.
lsp/helper
Invoke with //go:generate helper/helper -t Server -d protocol/tsserver.go -u lsp -o server_gen.go invoke in internal/lsp
Invoke with //go:generate helper/helper -t Server -d protocol/tsserver.go -u lsp -o server_gen.go invoke in internal/lsp
lsp/jsonrpc2
Package jsonrpc2 is a minimal implementation of the JSON RPC 2 spec.
Package jsonrpc2 is a minimal implementation of the JSON RPC 2 spec.
lsp/jsonrpc2/servertest
Package servertest provides utilities for running tests against a remote LSP server.
Package servertest provides utilities for running tests against a remote LSP server.
lsp/protocol
Package protocol contains the structs that map directly to the wire format of the "Language Server Protocol".
Package protocol contains the structs that map directly to the wire format of the "Language Server Protocol".
memoize
Package memoize supports memoizing the return values of functions with idempotent results that are expensive to compute.
Package memoize supports memoizing the return values of functions with idempotent results that are expensive to compute.
ntt
Package ntt provides test suite configuration.
Package ntt provides test suite configuration.
session
Package session provides machine-wide unique sessions.
Package session provides machine-wide unique sessions.
session/flock
Package flock implements a thread-safe interface for file locking.
Package flock implements a thread-safe interface for file locking.
span
Package span contains support for representing with positions and ranges in text files.
Package span contains support for representing with positions and ranges in text files.
telemetry
Package telemetry provides an opinionated set of packages that cover the main concepts of telemetry in an implementation agnostic way.
Package telemetry provides an opinionated set of packages that cover the main concepts of telemetry in an implementation agnostic way.
telemetry/export
Package export holds the definition of the telemetry Exporter interface, along with some simple implementations.
Package export holds the definition of the telemetry Exporter interface, along with some simple implementations.
telemetry/export/ocagent
Package ocagent adds the ability to export all telemetry to an ocagent.
Package ocagent adds the ability to export all telemetry to an ocagent.
telemetry/log
Package log is a context based logging package, designed to interact well with both the lsp protocol and the other telemetry packages.
Package log is a context based logging package, designed to interact well with both the lsp protocol and the other telemetry packages.
telemetry/metric
Package metric aggregates stats into metrics that can be exported.
Package metric aggregates stats into metrics that can be exported.
telemetry/stats
Package stats provides support for recording telemetry statistics.
Package stats provides support for recording telemetry statistics.
telemetry/tag
Package tag provides support for telemetry tagging.
Package tag provides support for telemetry tagging.
telemetry/trace
Package trace adds support for telemetry tracing.
Package trace adds support for telemetry tracing.
telemetry/unit
Package unit holds the definitions for the units you can use in telemetry.
Package unit holds the definitions for the units you can use in telemetry.
ttcn3/ast
Package ast provides TTCN-3 syntax tree nodes and functions for tree traversal.
Package ast provides TTCN-3 syntax tree nodes and functions for tree traversal.
ttcn3/doc
package doc provides helper functions to extract test tags and documents from TTCN-3 comments.
package doc provides helper functions to extract test tags and documents from TTCN-3 comments.
ttcn3/parser
Package parser implements a tolerant TTCN-3 parser library.
Package parser implements a tolerant TTCN-3 parser library.
ttcn3/scanner
Package scanner provides a TTCN-3 scanner
Package scanner provides a TTCN-3 scanner
ttcn3/token
Package token defines constants representing the lexical tokens of the TTCN-3 programming language and basic operations on tokens (printing, predicates).
Package token defines constants representing the lexical tokens of the TTCN-3 programming language and basic operations on tokens (printing, predicates).
ttcn3/types
Package types provides TTCN-3 types, functions for compatibilty checks and a builder to create and resolve types from a TTCN-3 syntax tree.
Package types provides TTCN-3 types, functions for compatibilty checks and a builder to create and resolve types from a TTCN-3 syntax tree.
xcontext
Package xcontext is a package to offer the extra functionality we need from contexts that is not available from the standard context package.
Package xcontext is a package to offer the extra functionality we need from contexts that is not available from the standard context package.
k3
Package k3 provides convenience functions for supporting k3 toolchain.
Package k3 provides convenience functions for supporting k3 toolchain.
log
Package log supports parsing K3 runtime log files.
Package log supports parsing K3 runtime log files.
t3xf
Package t3xf provides routines for decoding and loading t3xf encoded files.
Package t3xf provides routines for decoding and loading t3xf encoded files.
Package project collects information about test suite organisation by implementing various heuristics.
Package project collects information about test suite organisation by implementing various heuristics.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL