ntt

command module
v0.18.0 Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2023 License: BSD-3-Clause Imports: 55 Imported by: 0

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 install github.com/nokia/ntt@latest

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.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package control provides the test control and management interface.
Package control provides the test control and management interface.
k3r
k3s
internal
cmake
Package cmake provides basic support for reading CMake cache files.
Package cmake provides basic support for reading CMake cache files.
compdb
Package compdb provides the structs for generate compilation database as specified by https://clang.llvm.org/docs/JSONCompilationDatabase.html
Package compdb provides the structs for generate compilation database as specified by https://clang.llvm.org/docs/JSONCompilationDatabase.html
env
Package env provides functionality to dynamically load the environment variables
Package env provides functionality to dynamically load the environment variables
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".
lsp/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.
lsp/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.
lsp/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.
lsp/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.
lsp/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.
lsp/telemetry/metric
Package metric aggregates stats into metrics that can be exported.
Package metric aggregates stats into metrics that can be exported.
lsp/telemetry/stats
Package stats provides support for recording telemetry statistics.
Package stats provides support for recording telemetry statistics.
lsp/telemetry/tag
Package tag provides support for telemetry tagging.
Package tag provides support for telemetry tagging.
lsp/telemetry/trace
Package trace adds support for telemetry tracing.
Package trace adds support for telemetry tracing.
lsp/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.
lsp/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.
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.
ntttest
Package ntttest provides utilities for TTCN-3 testing.
Package ntttest provides utilities for TTCN-3 testing.
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.
yaml
Package yaml provides uniform interface for parsing YAML files.
Package yaml provides uniform interface for parsing YAML files.
k3
log
Package log supports parsing K3 runtime log files.
Package log supports parsing K3 runtime log files.
Package project provides a tool-independent interface for working with various TTCN-3 project layouts and configurations.
Package project provides a tool-independent interface for working with various TTCN-3 project layouts and configurations.
internal/k3
Package k3 provides convenience functions for supporting k3 toolchain.
Package k3 provides convenience functions for supporting k3 toolchain.
Package ttcn3 provides routines for evaluating TTCN-3 source code.
Package ttcn3 provides routines for evaluating TTCN-3 source code.
doc
syntax
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.
types
Package types implements a type system for TTCN-3.
Package types implements a type system for TTCN-3.
v2/printer
Package printer implements pretty printers for TTCN-3 source code.
Package printer implements pretty printers for TTCN-3 source code.
v2/syntax/internal/gen
This program reads the TTCN-3 grammar file and generates a parser for it.
This program reads the TTCN-3 grammar file and generates a parser for it.

Jump to

Keyboard shortcuts

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