Code Monkey home page Code Monkey logo

tcf's Introduction

TCF

TCF is a system that simplifies the creation and execution of tests. cases (automation, for that matter) with minimal setup effort by engineers (SW, QA, and release) and :ref:`autobuilders/CI <tcf_ci>` alike across a wide variety of hardware platforms. It is distributed under the terms of the Apache 2.0 licence.

The test framework provides means to:

  • Discover and run one or many units, integration, and end-to-end automated test cases or samples with a single command line; these test cases may need no target (run on the local host) or one or more targets on which to operate.
  • Locate, manage, and share target hardware to maximise resource efficiency.

A developer will create a feature and, as part of that, create a unit. test cases, which will be executed while developing the features until The feature is complete. Other engineers (e.g., QA) might create more unit tests, integration tests, and end-to-end tests to validate different features working together. Testcase metadata is added to the test cases. indicates how to build it, where it can be run, and how to determine if whether it is successful or not, or how to extract significant data (like resource consumption, performance, etc.) for postprocessing. These test Cases can then be committed as part of the code so that other People or agents can run them. The test case can request targets, power them up or down, connect or disconnect things to or from it, etc.

When is it time to run the test cases? A developer, QA engineer, or The CI/automation/automationnches tcf, which locates them. remote targets, where to execute them, build and evaluate them, parallelizing as much as possible and generating reports about the execution.

The system consists of two parts:

  • tcf: the client and test runner; this command-line utility is used to manage the test targets exported by the test target brokers (servers) and to execute test cases on said targets.
  • ttbd: the server; this manages test targets connected to them, serving as a proxy for the test cases being run by tcf on behalf of users.

TCF focuses only on execution, leaving reporting, coverage analysis, and etc. to other tools, providing means to feed data into them. It is designed with the goal of having a small footprint and little dependencies.

Report issues and contact the authors by filling issues in https://github.com/intel/tcf/issues.

Installation

Visit the quickstart instructions.

Documentation

Available at http://intel.github.io/tcf

Best practices for contributing available at the guide.

tcf's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tcf's Issues

Privacy Violation

We found a problem about Privacy Violation in tcf-master/tcfl/ttb_client.py
image
Mishandling private information, can compromise user privacy and is often illegal.Privacy is a priority when privacy conflicts with other issues.

target.shell: read prompt if id has 6 characters

Traceback (most recent call last):
  File "/home/work/crauto/harness_main.py", line 181, in main
    cr_config.start( _logger, _host, _testlib)
  File "/home/work/crauto/harness_main.py", line 117, in start
    self._boxed_configs["Host"].start(self._boxed_configs["Site"], self._logger, self._host)
  File "/home/work/crauto/configuration_control/capi.py", line 353, in start
    capi.target.shell.run(f"echo {ts}", str(ts))
  File "/usr/lib/python3.9/site-packages/tcfl/target_ext_shell.py", line 856, in run
    return self._run(
  File "/usr/lib/python3.9/site-packages/tcfl/target_ext_shell.py", line 746, in _run
    self.target.expect(self.prompt_regex, name = "shell prompt",
  File "/usr/lib/python3.9/site-packages/tcfl/tc.py", line 1935, in expect
    return self.testcase.expect(
  File "/usr/lib/python3.9/site-packages/tcfl/tc.py", line 5817, in expect
    exp.on_timeout(run_name, poll_context,
  File "/usr/lib/python3.9/site-packages/tcfl/target_ext_console.py", line 563, in on_timeout
    raise self.raise_on_timeout(
tcfl.fail_e: ("01/shell prompt: timed out finding text 'b'(TCF-[0-9a-zA-Z]{4})?([-/\\\\@_~: \\\\x1b=;\\\\[0-9A-Za-z]+ [\\\\x1b=;\\\\[0-9A-Za-z]*[#\\\\$][\\\\x1b=;\\\\[0-9A-Za-z]* |[^@]+@.*[#\\\\$] |[^:]+:.*[#\\\\$>])'' in console 'capi-lr40n07/r40s01:ssh0' @90.1/60.0s/60.0s)", {'target': <tcfl.tc.target_c object at 0x7f13f666e9d0>, 'origin': '/home/work/crauto/configuration_control/capi.py:353', 'console': 'ssh0', 'pattern': b'(TCF-[0-9a-zA-Z]{4})?([-/\\@_~: \\x1b=;\\[0-9A-Za-z]+ [\\x1b=;\\[0-9A-Za-z]*[#\\$][\\x1b=;\\[0-9A-Za-z]* |[^@]+@.*[#\\$] |[^:]+:.*[#\\$>])', 'offset': 1285, 'offset prev': 0, 'console output': <commonl.generator_factory_c object at 0x7f12c76d3be0>})
Framework startup exception has been caught.

Convert cleanup thread execution path into a process

Long running daemons will leak resources in downstream libraries on which we have no control and grow to consume too much memory.

A cleanup spawning into a process will clear resources upon completion by killing the handling process.

We can't fix all the issues in downstream libraries, as we won't know what different drivers will use.

pin markupsafe to 2.0.1

hitting this issue and looks like latest update to markupsafe has removed soft_unicode, pinning markupsafe to 2.0.1 in requirements.txt fixes the issue

ImportError: cannot import name 'soft_unicode' from 'markupsafe' (/home/vasu/venv/lib/python3.8/site-packages/markupsafe/__init__.py)

aws/aws-sam-cli#3661

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.