GithubHelp home page GithubHelp logo

osalyk / pmdk-tests Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pmem/pmdk-tests

0.0 0.0 0.0 317 KB

Extended tests for PMDK libraries and utilities

License: BSD 3-Clause "New" or "Revised" License

C++ 76.81% Python 8.87% C 0.68% PowerShell 1.09% CMake 12.55%

pmdk-tests's Introduction

pmdk-tests: Tests for Persistent Memory Development Kit

NOTICE: This repository is not actively developed. At this moment only the RAS tests are supported. If you are looking for tests for the PMDK repository, go to this page.

This repository utilizes Google Test C++ test framework and pugiXML.

Building The Source

To build pmdk-tests on Linux, the following packages are required:

  • PMDK
  • CMake - version 2.8.12 or greater

On Windows, the following packages are required:

Building pmdk-tests on Linux

In the pmdk-tests root directory:

	$ mkdir build
	$ cd build
	$ cmake .. <args>
	$ make

<args> - for building debug version use -DCMAKE_BUILD_TYPE=DEBUG. No -DCMAKE_BUILD_TYPE argument provided is equivalent to -DCMAKE_BUILD_TYPE=RELEASE.

PMDK Custom path

If PMDK is installed in custom path, then additional arguments need to be specified. If pkg-config is available, then PKG_CONFIG_PATH environmental variable needs to be set to <PMDK_INSTALL_PATH>/lib/pkgconfig.

	$ PKG_CONFIG_PATH=<PMDK_INSTALL_PATH>/lib/pkgconfig cmake ..

If it's not available, then PMDK_INSTALL_PATH needs to be specified. PMDK_INSTALL_PATH must be an absolute path.

	$ cmake .. -DPMDK_INSTALL_PATH=<PMDK_INSTALL_PATH>

Building pmdk-tests on Windows

Environment variables should be set according to PMDK Windows installation guide.

In the pmdk-tests root directory:

	$ mkdir build
	$ cd build
	$ cmake -G "Visual Studio 14 2015 Win64" ..

CMake sets 32-bit build as default, however pmdk-tests works only in 64-bit environment. PMDK supports only Visual Studio 2015 on Windows, hence -G "Visual Studio 14 2015 Win64". To build binaries use either generated pmdk_tests.sln solution file with Visual Studio or:

	$ cmake --build . --config <config> [--target <target>]
  • <config> - Debug or Release

  • <target> - specified group of tests to build, e.g. UNSAFE_SHUTDOWN_LOCAL

Running Tests

NOTICE: Currently only RAS tests are supported. Please check this README file for more information about RAS.

Before executing tests, valid configuration config.xml file needs to be placed in the same directory as the test binary. Template config.xml.example is located in etc/config directory. For more information see dedicated README file. After this setup, tests can be run simply by executing the binary:

	$ cd build
	$ cp ../etc/config/config.xml.example config.xml
	# Set own values in config.xml fields
	$ ./UNSAFE_SHUTDOWN_LOCAL

pmdk-tests are implemented using Google Test framework, and thus resulting binaries share its behavior and command line interface. To list all tests to be run from specific binary:

	$ ./UNSAFE_SHUTDOWN_LOCAL --gtest_list_tests

To run a subset of tests:

	# Runs only tests with 'VERBOSE' in title.
	$ ./UNSAFE_SHUTDOWN_LOCAL --gtest_filter="*VERBOSE*"

--gtest_filter argument can also be used to exclude tests from execution (mind the - before filtered out phrase):

	# Exclude tests with 'VERBOSE' in title from execution.
	$ ./UNSAFE_SHUTDOWN_LOCAL --gtest_filter=-"*VERBOSE*"

To see usage:

	$ ./UNSAFE_SHUTDOWN_LOCAL --help

For more information about running tests see Google Test documentation.

Other Requirements

Python scripts in pmdk-tests are compatible with Python 3.4.

See also

Detailed documentation for specific test groups:

pmdk-tests's People

Contributors

daria-lewandowska avatar dependabot[bot] avatar kamdiedrich avatar kasiawasiuta avatar kkajrewicz avatar krzycz avatar lukaszgda avatar lukaszstolarczuk avatar mramotowski avatar pbalcer avatar peczakax avatar szychows avatar tszczyp avatar wlemkows avatar

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.