Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

This page explains how to write pytest-based tests for SCuM, which are run automatically at each PR.

Table of Contents

Instructions

Info

start:

end:

  • one more test script added into repository

  • the Jenkins job runs the test scripts

Steps

  • Log into the Jenkins builder server

  • Install PyTest on the builder server with following command:

    • pip install pytest==4.6.0 # 4.6.0 is the latest pytest version supporting Python 2

  • Git clone the target repo: https://github.com/changtengfei/demo_github_jenkins_repo

  • Create a folder in the root directory called “test“

  • Create a file called “test_dummy.py“ under “test“ folder

  • Write the test script following the document online at: http://pytest.org/en/latest/

    • Here is an example of test script

      Code Block
        import pytest
      import os
      
      def syscall(cmd):
          print '>>> {0}'.format(cmd)
          os.system(cmd)
      
      def test_compilation():
          result = syscall("echo compilation...")
          assert result == None
          
      def test_bootload():
          result = syscall("echo bootload...")
          assert result == None
          
      def test_communication():
          result = syscall("echo communication...")
          assert result == None
  • Setup a Jenkins job (read Jenkins/GitHub Integration), under “Build Step”, create a script and run command pytest

Related links