@@ -24,19 +24,27 @@ class OpAbsTest : public OperatorTest {
2424 Tensor& op_abs_out (const Tensor& self, Tensor& out) {
2525 return torch::executor::aten::abs_outf (context_, self, out);
2626 }
27- };
2827
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 });
3135
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);
3537
36- Tensor ret = op_abs_out (in, out);
38+ EXPECT_TENSOR_EQ (out, ret);
39+ EXPECT_TENSOR_EQ (out, expected);
40+ }
41+ };
3742
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);
4048}
4149
4250TEST_F (OpAbsTest, MemoryFormatCheck) {
0 commit comments