]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
subman: use replace instead of format 10625/head
authorLoic Dachary <ldachary@redhat.com>
Tue, 9 Aug 2016 07:13:17 +0000 (09:13 +0200)
committerLoic Dachary <ldachary@redhat.com>
Tue, 9 Aug 2016 10:25:40 +0000 (12:25 +0200)
Otherwise all {} are assumed to be substituted. Add a test.

Fixes: http://tracker.ceph.com/issues/16961
Signed-off-by: Loic Dachary <ldachary@redhat.com>
(cherry picked from commit b006c136761746e12704e349a672325b8b6e51f5)

src/script/subman
src/test/CMakeLists.txt
src/test/Makefile.am
src/test/test_subman.sh [new file with mode: 0755]

index 129e507280f174d85575a05f66cb649d21fe50bf..8ad7d76cc1e07a2eb68bdcc6a7f36d3b63175065 100755 (executable)
@@ -1,6 +1,7 @@
-#!/usr/bin/env python -B
+#!/usr/bin/env python
 
 import json
+import os
 import re
 import subprocess
 
@@ -13,8 +14,9 @@ for disk in disks:
             df = subprocess.check_output("df --output=used " + partition['path'], shell=True)
             used += int(re.findall('\d+', df)[0])
 
-open("/etc/rhsm/facts/ceph_usage.facts", 'w').write("""
+facts_file = os.environ.get("CEPH_FACTS_FILE", "/etc/rhsm/facts/ceph_usage.facts")
+open(facts_file, 'w').write("""\
 {
 "band.storage.usage": {used}
 }
-""".format(used=used/(1024*1024*1024)))
+""".replace('{used}', str(int(used/(1024*1024*1024)))))
index 13e61c5b3d3c4f533cfc25680fe8006389ccd6eb..c2d01768a9228e241174b2f226d74e3fa36863a3 100644 (file)
@@ -490,6 +490,7 @@ add_ceph_test(run-rbd-unit-tests.sh ${CMAKE_CURRENT_SOURCE_DIR}/run-rbd-unit-tes
 add_ceph_test(run-cli-tests ${CMAKE_CURRENT_SOURCE_DIR}/run-cli-tests)
 add_ceph_test(test_objectstore_memstore.sh ${CMAKE_CURRENT_SOURCE_DIR}/test_objectstore_memstore.sh)
 add_ceph_test(test_pidfile.sh ${CMAKE_CURRENT_SOURCE_DIR}/test_pidfile.sh)
+add_ceph_test(test_subman.sh ${CMAKE_CURRENT_SOURCE_DIR}/test_subman.sh)
 add_ceph_test(unittest_bufferlist.sh ${CMAKE_SOURCE_DIR}/src/unittest_bufferlist.sh)
 
 add_test(NAME run-tox-ceph-disk COMMAND bash ${CMAKE_SOURCE_DIR}/src/ceph-disk/run-tox.sh WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src)
index 536edbf012619bd2c4ed97b78df4e1f02272d1ff..8e09d33ac74e4fa0e2b0de2ce9e584ffeec86cab 100644 (file)
@@ -93,7 +93,8 @@ check_SCRIPTS += \
        test/mon/mon-handle-forward.sh \
        test/libradosstriper/rados-striper.sh \
        test/test_objectstore_memstore.sh \
-        test/test_pidfile.sh
+        test/test_pidfile.sh \
+       test/test_subman.sh
 
 EXTRA_DIST += \
        $(srcdir)/test/python/brag-client/setup.py \
diff --git a/src/test/test_subman.sh b/src/test/test_subman.sh
new file mode 100755 (executable)
index 0000000..d2cdd52
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/bash -e
+
+source $(dirname $0)/detect-build-env-vars.sh
+
+TMP=$(mktemp --tmpdir -d)
+trap "rm -fr $TMP" EXIT
+
+export PATH=$TMP:$PATH
+
+cat > $TMP/ceph-disk <<EOF
+echo '[{"partition":[{"type":"data","path":"/dev/foo/bar"}]}]'
+EOF
+chmod +x $TMP/ceph-disk
+
+cat > $TMP/df <<EOF
+echo Used
+echo $((2 * 1024 * 1024 * 1024))
+EOF
+chmod +x $TMP/df
+
+cat > $TMP/expected <<EOF
+{
+"band.storage.usage": 2
+}
+EOF
+export CEPH_FACTS_FILE=$TMP/facts
+$CEPH_ROOT/src/script/subman
+diff -u $CEPH_FACTS_FILE $TMP/expected