]> git.apps.os.sepia.ceph.com Git - ceph-build.git/commitdiff
port build script to just run py.test
authorAlfredo Deza <adeza@redhat.com>
Wed, 6 Jan 2016 21:14:13 +0000 (16:14 -0500)
committerAlfredo Deza <adeza@redhat.com>
Wed, 6 Jan 2016 21:15:29 +0000 (16:15 -0500)
Signed-off-by: Alfredo Deza <adeza@redhat.com>
ceph-pr-commits/build/build

index 8213bfc54d933c8ee74490da26bee4d37d8b8279..af17ee3c7baaeb8daeb355b815d241ed48f7ef4f 100644 (file)
@@ -1,60 +1,9 @@
-#!/usr/bin/env python
-from subprocess import Popen, PIPE
-import os
+#!/bin/bash
 
-target_branch = os.getenv('ghprbTargetBranch', 'master')
-source_branch = os.getenv('ghprbSourceBranch', 'HEAD')
+# the following two methods exist in scripts/build_utils.sh
+pkgs=( "pytest" )
+install_python_packages "pkgs[@]"
 
-command = ['git', 'log', '--no-merges', '%s..%s' % (target_branch, source_branch)]
 
-
-process = Popen(
-    command,
-    stdout=PIPE,
-    stderr=PIPE,
-    close_fds=True
-)
-
-returncode = process.wait()
-
-stdout = process.stdout.read()
-stderr = process.stderr.read()
-
-
-def produce_junit(**kw):
-    time = kw.get('time', 0)
-    tests = kw.get('tests', [])
-    failures = kw.get('failures', [])
-    total_tests = len(tests) or 1
-    total_failures = len(failures)
-    template = """<?xml version="1.0" encoding="utf-8"?>
-<testsuite errors="0" failures="{total_failures}" name="Signed-off-by" skips="0" tests="{total_tests}" time="0">
-</testsuite>
-    """.format(total_failures=total_failures, total_tests=total_tests)
-    path = os.path.join(os.getenv("$WORKSPACE", ""), 'report.xml')
-    print template
-    with open(path, 'w') as junit_file:
-        junit_file.write(template)
-
-
-def extract_sha(lines):
-    trim = lines.split()
-    for i in trim:
-        if i and 'commit' not in i:
-            return i
-
-# git log output goes to stdout so process that
-tests = []
-failures = []
-for chunk in stdout.split('\n\ncommit'): # we are interested in every commit chunk
-    if not chunk:
-        continue
-    tests.append(1)
-    if not 'Signed-off-by:' in chunk:
-        sha = extract_sha(chunk)
-        failures.append(sha)
-
-produce_junit(tests=tests, failures=failures)
-
-if failures:
-    raise SystemExit('A commit is missing "Signed-off-by". sha: %s' % sha)
+cd "$WORKSPACE/ceph-build/ceph-pr-commits/build"
+$VENV/py.test -v --junit="$WORKSPACE/report.xml"