| --- |
| # xos unit test |
| |
| - job-template: |
| id: 'xos-unit-test' |
| name: 'verify_{project}_unit-test' |
| |
| description: | |
| Created by {id} job-template from ci-management/jjb/xos-unit.yaml |
| |
| triggers: |
| - cord-infra-gerrit-trigger-patchset: |
| gerrit-server-name: '{gerrit-server-name}' |
| project-regexp: '^{project}$' |
| branch-regexp: '{branch-regexp}' |
| dependency-jobs: '{dependency-jobs}' |
| file-include-regexp: '{all-files-regexp}' |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: '{artifact-num-to-keep}' |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: 20 |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| scm: |
| - lf-infra-gerrit-scm: |
| git-url: '$GIT_URL/$GERRIT_PROJECT' |
| refspec: '$GERRIT_REFSPEC' |
| branch: '$GERRIT_BRANCH' |
| submodule-recursive: 'false' |
| choosing-strategy: gerrit |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| node: 'ubuntu16.04-basebuild-1c-2g' |
| project-type: freestyle |
| concurrent: true |
| |
| builders: |
| - shell: | |
| #/usr/bin/env bash |
| BASEDIR=$(pwd) |
| |
| # setup virtual env |
| virtualenv -q venv-xos --no-site-packages |
| source $BASEDIR/venv-xos/bin/activate |
| pip install --upgrade pip setuptools |
| |
| # download changeset |
| mkdir cord && cd cord/ |
| repo init -u https://gerrit.opencord.org/manifest -b $GERRIT_BRANCH |
| repo sync |
| repo download $GERRIT_PROJECT $GERRIT_CHANGE_NUMBER/$GERRIT_PATCHSET_NUMBER |
| |
| # Install XOS dependencies |
| pip install nose2 requests_mock plyxproto jinja2 pattern astunparse pyyaml colorama |
| pip install pykwalify==1.6.1 |
| pip install multistructlog==1.5 |
| pip install networkx==1.11 |
| pip install netaddr==0.7.19 |
| pip install ipaddress==1.0.19 |
| pip install grpcio==1.9.1 |
| pip install grpcio-tools==1.9.1 |
| echo "Requirements Installed" |
| |
| cd $BASEDIR/cord/orchestration/xos/lib/xos-util; python setup.py install; echo "xos-util Installed" |
| cd $BASEDIR/cord/orchestration/xos/lib/xos-config; python setup.py install; echo "xos-config Installed" |
| cd $BASEDIR/cord/orchestration/xos/lib/xos-genx; python setup.py install; echo "xos-genx Installed" |
| |
| cd $BASEDIR/cord/orchestration/xos/xos/xos_client/xosapi; ln -s ../../../../../component/chameleon chameleon |
| cd $BASEDIR/cord/orchestration/xos/xos/xos_client; make; echo "xos-client Installed" |
| |
| # Run the tests |
| if [ $GERRIT_PROJECT = 'xos' ] ; then |
| cd $BASEDIR |
| else |
| cd $BASEDIR/cord/orchestration/xos_services/$GERRIT_PROJECT/xos |
| fi |
| nose2 --verbose --exclude-ignored-files |