search

Sunday, March 11, 2018

python: Django-like testrunner

Django-like testrunner for non-django projects:
#!/usr/bin/env python

import argparse
import collections
import unittest
import sys


def main():
    parser = argparse.ArgumentParser(description='Django-like testrunner')
    parser.add_argument('specific_test', metavar='', type=str, nargs='?', help='Specifc test')
    parser.add_argument("--failfast", action="store_true")
    parser.add_argument("--verbosity", type=int, default=1)

    args = parser.parse_args()

    loader = unittest.TestLoader()
    all_tests = loader.discover('.', top_level_dir="./")
    suite = unittest.TestSuite()

    if args.specific_test:

        def walk_tests(tests):
            if isinstance(tests, collections.Iterable):
                for item in tests:
                    walk_tests(item)
                return
            if tests.id().startswith(args.specific_test):
                suite.addTest(tests)
            elif not str(tests).startswith("test"):
                sys.exit("Error in file %s" % tests)

        walk_tests(all_tests)
    else:
        suite.addTests(all_tests)

    unittest.TextTestRunner(verbosity=args.verbosity, failfast=args.failfast).run(suite)


if __name__ == "__main__":
    main()

fedora: SSL certificate viewer

GUI to view certificate:
gcr-viewer cert.pem

linux: List all IP addresses in a network

To list ip addresses of all connected to the network devices, use this command:
nmap -sn 192.168.0.0/24

linux: CPU benchmark

$ sysbench cpu run --time=5
sysbench 1.0.9 (using system LuaJIT 2.1.0-beta3)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time


Prime numbers limit: 10000

Initializing worker threads...

Threads started!

CPU speed:
    events per second:  1157.88

General statistics:
    total time:                          5.0008s
    total number of events:              5792

Latency (ms):
         min:                                  0.80
         avg:                                  0.86
         max:                                  3.74
         95th percentile:                      1.06
         sum:                               4998.26

Threads fairness:
    events (avg/stddev):           5792.0000/0.00
    execution time (avg/stddev):   4.9983/0.00

bash: How to check what hides behind an alias

To check what command is assigned to the alias use type command:
$ type gl
gl is aliased to `git log --oneline'