aboutsummaryrefslogtreecommitdiffstats
path: root/src/scripts/version
blob: 807109e4103465ba0c012fc7510a88e0768659b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/bin/bash

# Copyright (c) 2015 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

path=$( cd "$(dirname "${BASH_SOURCE}")" ; pwd -P )

cd "$path"

if [ -f .version ]; then
    vstring=$(cat .version)
else
    vstring=$(git describe)
    if [ $? != 0 ]; then
      exit 1
    fi
fi

TAG=$(echo ${vstring} | cut -d- -f1 | sed -e 's/^v//')
ADD=$(echo ${vstring} | cut -s -d- -f2)

git rev-parse 2> /dev/null
if [ $? == 0 ]; then
    CMT=$(git describe --dirty --match 'v*'| cut -s -d- -f3,4)
else
    CMT=$(echo ${vstring} | cut -s -d- -f3,4)
fi
CMTR=$(echo $CMT | sed 's/-/_/')

if [ -n "${BUILD_NUMBER}" ]; then
       BLD="~b${BUILD_NUMBER}"
fi

if [ "$1" = "rpm-version" ]; then
  echo ${TAG}
  exit
fi

if [ "$1" = "rpm-release" ]; then
  [ -z "${ADD}" ] && echo release && exit
  echo ${ADD}${CMTR:+~${CMTR}}${BLD}
  exit
fi

  if [ -n "${ADD}" ]; then
    if [ "$1" = "rpm-string" ]; then
      echo ${TAG}-${ADD}${CMTR:+~${CMTR}}${BLD}
    else
      echo ${TAG}-${ADD}${CMT:+~${CMT}}${BLD}
    fi
  else
    echo ${TAG}-release
fi
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.itr.remote.locator.sets.grouping.ItrRemoteLocatorSet; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.itr.remote.locator.sets.grouping.ItrRemoteLocatorSetBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170808.lisp.feature.data.grouping.LispFeatureDataBuilder; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; public class ItrRemoteLocatorSetCustomizerTest extends LispInitializingReaderCustomizerTest<ItrRemoteLocatorSet, ItrRemoteLocatorSetBuilder> { private static final String EXPECTED_LOCATOR_SET_NAME = "loc-set"; private InstanceIdentifier<ItrRemoteLocatorSet> validId; private ItrRemoteLocatorSetBuilder builder; public ItrRemoteLocatorSetCustomizerTest() { super(ItrRemoteLocatorSet.class, LispFeatureDataBuilder.class); } @Before public void setUp() throws Exception { validId = InstanceIdentifier.create(ItrRemoteLocatorSet.class); builder = new ItrRemoteLocatorSetBuilder(); mockLispEnabled(); } @Override protected ReaderCustomizer<ItrRemoteLocatorSet, ItrRemoteLocatorSetBuilder> initCustomizer() { return new ItrRemoteLocatorSetCustomizer(api, lispStateCheckService); } @Test public void getBuilder() throws Exception { final ItrRemoteLocatorSetBuilder itrRemoteLocatorSetBuilder = getCustomizer().getBuilder(validId); assertNotNull(itrRemoteLocatorSetBuilder); assertNull(itrRemoteLocatorSetBuilder.getRemoteLocatorSetName()); } @Test public void readCurrentAttributesSuccess() throws Exception { doReturnValidDataOnDump(); getCustomizer().readCurrentAttributes(validId, builder, ctx); assertNotNull(builder); assertEquals(EXPECTED_LOCATOR_SET_NAME, builder.getRemoteLocatorSetName()); verifyOneGetMapRequestItrRlocsInvokedOnce(); } @Test public void readCurrentAttributesEmptyData() throws Exception { doReturnEmptyDataOnDump(); getCustomizer().readCurrentAttributes(validId, builder, ctx); verifyInvalidDataCase(builder); } @Test public void readCurrentAttributesFailedCallHalted() { doThrowExceptionOnDump(); try { getCustomizer().readCurrentAttributes(validId, builder, ctx); } catch (ReadFailedException e) { assertTrue(e.getCause() instanceof VppCallbackException); assertNotNull(builder); assertNull(builder.getRemoteLocatorSetName()); verifyOneGetMapRequestItrRlocsInvokedOnce(); return; } fail("Test should have thrown exception"); } @Test public void merge() throws Exception { LispFeatureDataBuilder builder = new LispFeatureDataBuilder(); ItrRemoteLocatorSet set = new ItrRemoteLocatorSetBuilder().setRemoteLocatorSetName("loc-set").build(); getCustomizer().merge(builder, set); assertNotNull(builder); assertEquals(set, builder.getItrRemoteLocatorSet()); } private void doReturnValidDataOnDump() { OneGetMapRequestItrRlocsReply reply = new OneGetMapRequestItrRlocsReply(); reply.locatorSetName = EXPECTED_LOCATOR_SET_NAME.getBytes(StandardCharsets.UTF_8); when(api.oneGetMapRequestItrRlocs(any(OneGetMapRequestItrRlocs.class))) .thenReturn(CompletableFuture.completedFuture(reply)); } private void doReturnNullDataOnDump() { when(api.oneGetMapRequestItrRlocs(any(OneGetMapRequestItrRlocs.class))) .thenReturn(CompletableFuture.completedFuture(null)); } private void doReturnEmptyDataOnDump() { when(api.oneGetMapRequestItrRlocs(any(OneGetMapRequestItrRlocs.class))) .thenReturn(CompletableFuture.completedFuture(new OneGetMapRequestItrRlocsReply())); } private void doThrowExceptionOnDump() { when(api.oneGetMapRequestItrRlocs(any(OneGetMapRequestItrRlocs.class))). thenReturn(new CompletableFuture<OneGetMapRequestItrRlocsReply>() { @Override public OneGetMapRequestItrRlocsReply get(final long l, final TimeUnit timeUnit) throws InterruptedException, ExecutionException, TimeoutException { throw new ExecutionException( new VppCallbackException("oneGetMapRequestItrRlocs", "oneGetMapRequestItrRlocs failed", 1, -2)); } }); } private void verifyOneGetMapRequestItrRlocsInvokedOnce() { verify(api, times(1)).oneGetMapRequestItrRlocs(any(OneGetMapRequestItrRlocs.class)); } private void verifyInvalidDataCase(final ItrRemoteLocatorSetBuilder builder) { assertNotNull(builder); assertNull(builder.getRemoteLocatorSetName()); verifyOneGetMapRequestItrRlocsInvokedOnce(); } }