diff --git a/recipes-openharmony/openharmony/openharmony-standard-3.0/hilog.run-ptest b/recipes-openharmony/openharmony/openharmony-standard-3.0/hilog.run-ptest
deleted file mode 100644
index 40a8da9e740afd01658b6222d66e2d7a3aa3521c..0000000000000000000000000000000000000000
--- a/recipes-openharmony/openharmony/openharmony-standard-3.0/hilog.run-ptest
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-# SPDX-FileCopyrightText: Huawei Inc.
-#
-# SPDX-License-Identifier: Apache-2.0
-
-# Start the hilogd service if it is not already running
-systemctl start hilogd.service
-
-# Add path to hilog test suite $PATH
-PTEST_PATH=$(dirname $(readlink -f $0))
-export PATH="${PTEST_PATH}:${PATH}"
-
-HiLogNDKTest
-TEST_RESULT=$?
-
-if test "$TEST_RESULT" -eq 0; then
-    echo "PASS: HiLogNDKTest"
-else
-    echo "FAIL: HiLogNDKTest"
-fi
diff --git a/recipes-openharmony/openharmony/openharmony-standard_3.0.bb b/recipes-openharmony/openharmony/openharmony-standard_3.0.bb
index 637708a38e9e6c64b7417e13bca839e1ee594b1c..6eab4a4d1d6f87613aef8ae4fe4dfc0f5b40b143 100644
--- a/recipes-openharmony/openharmony/openharmony-standard_3.0.bb
+++ b/recipes-openharmony/openharmony/openharmony-standard_3.0.bb
@@ -22,6 +22,8 @@ require musl-ldso-paths-sanity-check.inc
 FILESEXTRAPATHS:prepend := "${THISDIR}/openharmony-${OPENHARMONY_VERSION}:"
 FILESEXTRAPATHS:prepend := "${THISDIR}/openharmony-standard-${OPENHARMONY_VERSION}:"
 
+SRC_URI += "${@bb.utils.contains('PTEST_ENABLED', '1', 'file://run-ptest', '', d)}"
+
 # TODO: we probably want these
 SRC_URI += "file://hilog-Add-tests.patch"
 
@@ -216,6 +218,8 @@ do_install_ptest () {
     do
         install -D -m 755 "${B}/tests/$f" "${D}${PTEST_PATH}/$f"
     done
+    # undo the default installation of ptest done by ptest.bbclass
+    rm -f ${D}${PTEST_PATH}/run-ptest
 }
 
 generate_platforms_build_file() {
@@ -326,22 +330,24 @@ RDEPENDS:${PN} += "${PN}-libutilsecurec ${PN}-libutils"
 inherit systemd
 SYSTEMD_AUTO_ENABLE = "enable"
 
+# //base/hiviewdfx/hilog component
 PACKAGES =+ "${PN}-hilog ${PN}-hilog-ptest"
 SYSTEMD_PACKAGES = "${PN}-hilog"
 SYSTEMD_SERVICE:${PN}-hilog = "hilogd.service"
 SRC_URI += "file://hilogd.service"
-SRC_URI += "${@bb.utils.contains('PTEST_ENABLED', '1', 'file://hilog.run-ptest', '', d)}"
 do_install:append() {
     install -d ${D}/${systemd_unitdir}/system
     install -m 644 ${WORKDIR}/hilogd.service ${D}${systemd_unitdir}/system/
-    rm -f ${D}${sysconfdir}/init/hilogd.cfg
+    rm -f ${D}${sysconfdir}/openharmony/init/hilogd.cfg
     install -d ${D}${sysconfdir}/sysctl.d
     echo "net.unix.max_dgram_qlen=600" > ${D}${sysconfdir}/sysctl.d/hilogd.conf
 }
+do_install_ptest_base[cleandirs] += "${D}${libdir}/${BPN}-hilog/ptest"
 do_install_ptest:append() {
-    install -D ${WORKDIR}/hilog.run-ptest ${D}${libdir}/${BPN}-hilog/ptest/run-ptest
-    mv ${D}${PTEST_PATH}/moduletest/hiviewdfx/hilog/* ${D}${libdir}/${BPN}-hilog/ptest/
-    rmdir ${D}${PTEST_PATH}/moduletest/hiviewdfx/hilog
+    install -D ${WORKDIR}/run-ptest ${D}${libdir}/${BPN}-hilog/ptest/run-ptest
+    mv ${D}${PTEST_PATH}/moduletest/hiviewdfx/hilog ${D}${libdir}/${BPN}-hilog/ptest/moduletest
+    rmdir ${D}${PTEST_PATH}/moduletest/hiviewdfx
+    echo "hilogd.service" > ${D}${libdir}/${BPN}-hilog/ptest/systemd-units
 }
 FILES:${PN}-hilog = "\
     ${bindir}/hilog* \
@@ -350,10 +356,12 @@ FILES:${PN}-hilog = "\
     ${systemd_unitdir}/hilogd.service \
 "
 FILES:${PN}-hilog-ptest = "${libdir}/${BPN}-hilog/ptest"
-RDEPENDS:${PN}-hilog += "musl libcxx ${PN}-libutilsecurec"
-RDEPENDS:${PN}-hilog-ptest += "${PN}-hilog musl libcxx"
 RDEPENDS:${PN} += "${PN}-hilog"
 RDEPENDS:${PN}-ptest += "${PN}-hilog-ptest ${PN}-hilog"
+RDEPENDS:${PN}-hilog-ptest += "${PN}-hilog"
+RDEPENDS:${PN}-hilog       += "musl libcxx"
+RDEPENDS:${PN}-hilog-ptest += "musl libcxx"
+RDEPENDS:${PN}-hilog       += "${PN}-libutilsecurec"
 
 INSANE_SKIP:${PN} = "already-stripped"
 EXCLUDE_FROM_SHLIBS = "1"