@@ -24,19 +24,27 @@ class OpAbsTest : public OperatorTest {
24
24
Tensor& op_abs_out (const Tensor& self, Tensor& out) {
25
25
return torch::executor::aten::abs_outf (context_, self, out);
26
26
}
27
- };
28
27
29
- TEST_F (OpAbsTest, SanityCheck) {
30
- TensorFactory<ScalarType::Float> tf;
28
+ template <ScalarType DTYPE>
29
+ void run_smoke_test () {
30
+ TensorFactory<DTYPE> tf;
31
+
32
+ Tensor in = tf.make ({1 , 7 }, {-3.0 , -2.5 , -1.01 , 0.0 , 1.01 , 2.5 , 3.0 });
33
+ Tensor out = tf.zeros ({1 , 7 });
34
+ Tensor expected = tf.make ({1 , 7 }, {3.0 , 2.5 , 1.01 , 0.0 , 1.01 , 2.5 , 3.0 });
31
35
32
- Tensor in = tf.make ({1 , 7 }, {-3.0 , -2.5 , -1.01 , 0.0 , 1.01 , 2.5 , 3.0 });
33
- Tensor out = tf.zeros ({1 , 7 });
34
- Tensor expected = tf.make ({1 , 7 }, {3.0 , 2.5 , 1.01 , 0.0 , 1.01 , 2.5 , 3.0 });
36
+ Tensor ret = op_abs_out (in, out);
35
37
36
- Tensor ret = op_abs_out (in, out);
38
+ EXPECT_TENSOR_EQ (out, ret);
39
+ EXPECT_TENSOR_EQ (out, expected);
40
+ }
41
+ };
37
42
38
- EXPECT_TENSOR_EQ (out, ret);
39
- EXPECT_TENSOR_EQ (out, expected);
43
+ TEST_F (OpAbsTest, SmokeTest) {
44
+ #define RUN_SMOKE_TEST (ctype, dtype ) run_smoke_test<ScalarType::dtype>();
45
+ // TODO: cover all REALHBF16 types with generalized unary function test
46
+ // harness.
47
+ ET_FORALL_FLOATHBF16_TYPES (RUN_SMOKE_TEST);
40
48
}
41
49
42
50
TEST_F (OpAbsTest, MemoryFormatCheck) {
0 commit comments