xref: /spdk/test/app/version.sh (revision 508531e1c0e8be44f4292f51e602aa0b95eedfee)
1*508531e1SKonrad Sztyber#!/usr/bin/env bash
2*508531e1SKonrad Sztyber# SPDX-License-Identifier: BSD-3-Clause
3*508531e1SKonrad Sztyber# Copyright (C) 2023 Intel Corporation
4*508531e1SKonrad Sztyber# All rights reserved.
5*508531e1SKonrad Sztyber#
6*508531e1SKonrad Sztyber
7*508531e1SKonrad Sztybertestdir=$(readlink -f $(dirname $0))
8*508531e1SKonrad Sztyberrootdir=$(readlink -f $testdir/../..)
9*508531e1SKonrad Sztyber
10*508531e1SKonrad Sztybersource "$rootdir/test/common/autotest_common.sh"
11*508531e1SKonrad Sztyber
12*508531e1SKonrad Sztyberget_header_version() {
13*508531e1SKonrad Sztyber	grep -E "^#define SPDK_VERSION_${1^^}[[:space:]]+" "$rootdir/include/spdk/version.h" \
14*508531e1SKonrad Sztyber		| cut -f2 | tr -d \"
15*508531e1SKonrad Sztyber}
16*508531e1SKonrad Sztyber
17*508531e1SKonrad Sztybermajor=$(get_header_version major)
18*508531e1SKonrad Sztyberminor=$(get_header_version minor)
19*508531e1SKonrad Sztyberpatch=$(get_header_version patch)
20*508531e1SKonrad Sztybersuffix=$(get_header_version suffix)
21*508531e1SKonrad Sztyber
22*508531e1SKonrad Sztyberversion="${major}.${minor}"
23*508531e1SKonrad Sztyber
24*508531e1SKonrad Sztyber# If patch is zero, we don't keep it in the version
25*508531e1SKonrad Sztyber((patch != 0)) && version="${version}.${patch}"
26*508531e1SKonrad Sztyber# In python world, the version format is a little different than what we use (see PEP 440), so we
27*508531e1SKonrad Sztyber# need to replace "-pre" with "rc0"
28*508531e1SKonrad Sztyberversion="${version}${suffix/-pre/rc0}"
29*508531e1SKonrad Sztyber
30*508531e1SKonrad SztyberPYTHONPATH="$PYTHONPATH:$rootdir/python" py_version=$(python3 -c 'import spdk; print(spdk.__version__)')
31*508531e1SKonrad Sztyber[[ "$py_version" == "$version" ]]
32