Skip to content

Commit 56a977d

Browse files
committed
add test
1 parent 926e107 commit 56a977d

File tree

4 files changed

+32
-1
lines changed

4 files changed

+32
-1
lines changed

paddle/fluid/framework/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,8 @@ endif(NOT WIN32)
118118
cc_test(operator_test SRCS operator_test.cc DEPS operator op_registry device_context)
119119

120120
cc_library(version SRCS version.cc)
121+
cc_test(version_test SRCS version_test.cc DEPS version)
122+
121123
cc_library(proto_desc SRCS var_desc.cc op_desc.cc block_desc.cc program_desc.cc DEPS shape_inference op_info operator glog version)
122124

123125
cc_library(op_registry SRCS op_registry.cc DEPS op_proto_maker op_info operator glog proto_desc)
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// Copyright (c) 2018 PaddlePaddle Authors. All Rights Reserved.
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
#include "paddle/fluid/framework/version.h"
16+
#include "gtest/gtest.h"
17+
18+
namespace paddle {
19+
namespace framework {
20+
TEST(Variable, GetMutable) {
21+
EXPECT_TRUE(IsProgramVersionSupported(0));
22+
EXPECT_FALSE(IsProgramVersionSupported(1));
23+
EXPECT_FALSE(IsProgramVersionSupported(-1));
24+
}
25+
} // namespace framework
26+
} // namespace paddle

paddle/fluid/pybind/pybind.cc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ limitations under the License. */
3333
#include "paddle/fluid/framework/prune.h"
3434
#include "paddle/fluid/framework/reader.h"
3535
#include "paddle/fluid/framework/selected_rows.h"
36+
#include "paddle/fluid/framework/version.h"
3637
#include "paddle/fluid/operators/activation_op.h"
3738
#include "paddle/fluid/operators/reader/lod_tensor_blocking_queue.h"
3839
#include "paddle/fluid/platform/enforce.h"
@@ -534,6 +535,8 @@ All parameter, weight, gradient are variables in Paddle.
534535
m.def("set_feed_variable", framework::SetFeedVariable);
535536
m.def("get_fetch_variable", framework::GetFetchVariable);
536537

538+
m.def("_is_program_version_supported", IsProgramVersionSupported);
539+
537540
BindProgramDesc(&m);
538541
BindBlockDesc(&m);
539542
BindVarDsec(&m);

python/paddle/fluid/io.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -751,7 +751,7 @@ def load_inference_model(dirname,
751751

752752
program = Program.parse_from_string(program_desc_str)
753753
# TODO(panyx0718): Link to our version and compatibility guide.
754-
if program._version() != 0:
754+
if not core._is_program_version_supported(program._version()):
755755
raise ValueError("Unsupported program version: %d\n" %
756756
program._version())
757757
# Binary data also need versioning.

0 commit comments

Comments
 (0)