1/*
2 *  Copyright 2012 The LibYuv Project Authors. All rights reserved.
3 *
4 *  Use of this source code is governed by a BSD-style license
5 *  that can be found in the LICENSE file in the root of the source
6 *  tree. An additional intellectual property rights grant can be found
7 *  in the file PATENTS.  All contributing project authors may
8 *  be found in the AUTHORS file in the root of the source tree.
9 */
10
11#include <stdlib.h>
12#include <string.h>
13
14#include "libyuv/basic_types.h"
15#include "libyuv/version.h"
16#include "../unit_test/unit_test.h"
17
18namespace libyuv {
19
20// Tests SVN version against include/libyuv/version.h
21// SVN version is bumped by documentation changes as well as code.
22// Although the versions should match, once checked in, a tolerance is allowed.
23TEST_F(libyuvTest, TestVersion) {
24  EXPECT_GE(LIBYUV_VERSION, 169);  // 169 is first version to support version.
25  printf("LIBYUV_VERSION %d\n", LIBYUV_VERSION);
26#ifdef LIBYUV_SVNREVISION
27  const char *ver = strchr(LIBYUV_SVNREVISION, ':');
28  if (ver) {
29    ++ver;
30  } else {
31    ver = LIBYUV_SVNREVISION;
32  }
33  int svn_revision = atoi(ver);  // NOLINT
34  printf("LIBYUV_SVNREVISION %d\n", svn_revision);
35  EXPECT_NEAR(LIBYUV_VERSION, svn_revision, 3);  // Allow version to be close.
36  if (LIBYUV_VERSION != svn_revision) {
37    printf("WARNING - Versions do not match.\n");
38  }
39#endif
40}
41
42}  // namespace libyuv
43