Fixing bug in cast_op test: A case study in the danger of default arguments.
PiperOrigin-RevId: 306345213 Change-Id: I2dfdaf0565774f22766b5b0f1633ce3c99d416e4
This commit is contained in:
parent
20d0fd0d81
commit
15aeef74da
@ -41,7 +41,7 @@ static Graph* Cast(int num) {
|
||||
|
||||
class CastOpTest : public OpsTestBase {
|
||||
protected:
|
||||
void MakeOp(DataType src, DataType dst, bool trunc = false) {
|
||||
void MakeOp(DataType src, DataType dst, bool trunc) {
|
||||
if (trunc) {
|
||||
TF_EXPECT_OK(NodeDefBuilder("cast_op", "Cast")
|
||||
.Input(FakeInput(src))
|
||||
@ -61,10 +61,10 @@ class CastOpTest : public OpsTestBase {
|
||||
}
|
||||
|
||||
template <typename INPUT, typename OUTPUT>
|
||||
void CheckCast(bool trunc = false) {
|
||||
void CheckCast(bool trunc) {
|
||||
DataType in_type = DataTypeToEnum<INPUT>::v();
|
||||
DataType out_type = DataTypeToEnum<OUTPUT>::v();
|
||||
MakeOp(in_type, out_type);
|
||||
MakeOp(in_type, out_type, trunc);
|
||||
AddInputFromArray<INPUT>(TensorShape({1, 2, 2, 1}),
|
||||
{INPUT(1), INPUT(2), INPUT(3), INPUT(4)});
|
||||
TF_ASSERT_OK(RunOpKernel());
|
||||
@ -75,9 +75,11 @@ class CastOpTest : public OpsTestBase {
|
||||
}
|
||||
};
|
||||
|
||||
#define TEST_CAST(in, out) \
|
||||
TEST_F(CastOpTest, TestCast##_##in##_##out) { CheckCast<in, out>(); } \
|
||||
TEST_F(CastOpTest, TestCast2##_##in##_##out) { CheckCast<in, out>(true); }
|
||||
#define TEST_CAST(in, out) \
|
||||
TEST_F(CastOpTest, TestCast##_##in##_##out) { CheckCast<in, out>(false); } \
|
||||
TEST_F(CastOpTest, TestCastTruncate_##_##in##_##out) { \
|
||||
CheckCast<in, out>(true); \
|
||||
}
|
||||
|
||||
#define TEST_ALL_CASTS_FROM(in) \
|
||||
TEST_CAST(in, uint8); \
|
||||
|
Loading…
Reference in New Issue
Block a user