[VTS11R2] vts_treble_sys_prop_test-__main__.VtsTrebleSysPropTest#testVendorPropertyNames fail

问题描述

 vts_treble_sys_prop_test-__main__.VtsTrebleSysPropTest#testVendorPropertyNames
FAILURE: Traceback (most recent call last):
  File "/home/ceshi/cts/vts/11r1/daily/android-vts/testcases/vts_treble_sys_prop_test/x86_64/vts_treble_sys_prop_test/vts_treble_sys_prop_test.py", line 277, in testVendorPropertyNames
  File "/home/ceshi/cts/vts/11r1/daily/android-vts/testcases/vts_treble_sys_prop_test/x86_64/vts_treble_sys_prop_test/vts_treble_sys_prop_test.py", line 237, in _TestVendorOrOdmPropertyNames
AssertionError: 1 != 0 : vendor properties (persist.bluetooth.a2dp_aac_vbr.enable) have wrong namespace

[VTS11R2]AudioHidlDevice/AudioHidlDeviceTest#CloseDeviceWithOpenedInputStreams/0_default_primary fail

问题描述

VtsHalAudioV6_0TargetTest
 AudioHidlDevice/AudioHidlDeviceTest#CloseDeviceWithOpenedInputStreams/0_default_primary
FAILURE: hardware/interfaces/audio/core/all-versions/vts/functional/AudioPrimaryHidlHalTest.h:835: Failure
Expected success: *res
Actual: INVALID_ARGUMENTS
hardware/interfaces/audio/core/all-versions/vts/functional/6.0/AudioPrimaryHidlHalTest.cpp:130: Failure
Expected: helper.open( [&](AudioIoHandle handle, AudioConfig config, auto cb) { return getDevice()->openInputStream(handle, address, config, flags, initMetadata, cb); }, config, &res, &suggestedConfig) doesn't generate new fatal failures in the current thread.
Actual: it does.

解决方案

[VTS11R1]VtsTrebleFrameworkVintfTest#SystemVendorTest.ServedHwbinderHalsAreInManifest_32bit fail

问题描述

VtsTrebleFrameworkVintfTest
VtsTrebleFrameworkVintfTest#SystemVendorTest.ServedHwbinderHalsAreInManifest_32bit fail:
test/vts-testcase/hal/treble/vintf/SystemVendorTest.cpp:131
Expected: (manifest_hwbinder_hals.find(name)) != (manifest_hwbinder_hals.end()), actual: 4-byte object <B8-B9 B1-FF> vs 4-byte object <B8-B9 B1-FF>
vendor.kyocera.hardware.display@1.0::IDisplay/default is being served, but it is not in a manifest.
test/vts-testcase/hal/treble/vintf/SystemVendorTest.cpp:131
Expected: (manifest_hwbinder_hals.find(name)) != (manifest_hwbinder_hals.end()), actual: 4-byte object <B8-B9 B1-FF> vs 4-byte object <B8-B9 B1-FF>
vendor.mediatek.hardware.mtkradioex@1.4::IMtkRadioEx/imsSlot1 is being served, but it is not in a manifest.
test/vts-testcase/hal/treble/vintf/SystemVendorTest.cpp:131
Expected: (manifest_hwbinder_hals.find(name)) != (manifest_hwbinder_hals.end()), actual: 4-byte object <B8-B9 B1-FF> vs 4-byte object <B8-B9 B1-FF>
vendor.mediatek.hardware.mtkradioex@1.4::IMtkRadioEx/mtkAssist1 is being served, but it is not in a manifest.
test/vts-testcase/hal/treble/vintf/SystemVendorTest.cpp:131
Expected: (manifest_hwbinder_hals.find(name)) != (manifest_hwbinder_hals.end()), actual: 4-byte object <B8-B9 B1-FF> vs 4-byte object <B8-B9 B1-FF>
vendor.mediatek.hardware.mtkradioex@1.4::IMtkRadioEx/mtkCap1 is being served, but it is not in a manifest.
test/vts-testcase/hal/treble/vintf/SystemVendorTest.cpp:131
Expected: (manifest_hwbinder_hals.find(name)) != (manifest_hwbinder_hals.end()), actual: 4-byte object <B8-B9 B1-FF> vs 4-byte object <B8-B9 B1-FF>
vendor.mediatek.hardware.mtkradioex@1.4::IMtkRadioEx/mtkEm1 is being served, but it is not in a manifest.
test/vts-testcase/hal/treble/vintf/SystemVendorTest.cpp:131
Expected: (manifest_hwbinder_hals.find(name)) != (manifest_hwbinder_hals.end()), actual: 4-byte object <B8-B9 B1-FF> vs 4-byte object <B8-B9 B1-FF>
vendor.mediatek.hardware.mtkradioex@1.4::IMtkRadioEx/mtkRcs1 is being served, but it is not in a manifest.
test/vts-testcase/hal/treble/vintf/SystemVendorTest.cpp:131
Expected: (manifest_hwbinder_hals.find(name)) != (manifest_hwbinder_hals.end()), actual: 4-byte object <B8-B9 B1-FF> vs 4-byte object <B8-B9 B1-FF>
vendor.mediatek.hardware.mtkradioex@1.4::IMtkRadioEx/mtkSe1 is being served, but it is not in a manifest.
test/vts-testcase/hal/treble/vintf/SystemVendorTest.cpp:131
Expected: (manifest_hwbinder_hals.find(name)) != (manifest_hwbinder_hals.end()), actual: 4-byte object <B8-B9 B1-FF> vs 4-byte object <B8-B9 B1-FF>
vendor.mediatek.hardware.mtkradioex@1.4::IMtkRadioEx/mtkSlot1 is being served, but it is not in a manifest.
test/vts-testcase/hal/treble/vintf/SystemVendorTest.cpp:131
Expected: (manifest_hwbinder_hals.find(name)) != (manifest_hwbinder_hals.end()), actual: 4-byte object <B8-B9 B1-FF> vs 4-byte object <B8-B9 B1-FF>
vendor.mediatek.hardware.mtkradioex@1.5::IMtkRadioEx/imsSlot1 is being served, but it is not in a manifest.
test/vts-testcase/hal/treble/vintf/SystemVendorTest.cpp:131
Expected: (manifest_hwbinder_hals.find(name)) != (manifest_hwbinder_hals.end()), actual: 4-byte object <B8-B9 B1-FF> vs 4-byte object <B8-B9 B1-FF>
vendor.mediatek.hardware.mtkradioex@1.5::IMtkRadioEx/mtkAssist1 is being served, but it is not in a manifest.
test/vts-testcase/hal/treble/vintf/SystemVendorTest.cpp:131
Expected: (manifest_hwbinder_hals.find(name)) != (manifest_hwbinder_hals.end()), actual: 4-byte object <B8-B9 B1-FF> vs 4-byte object <B8-B9 B1-FF>
vendor.mediatek.hardware.mtkradioex@1.5::IMtkRadioEx/mtkCap1 is being served, but it is not in a manifest.
test/vts-testcase/hal/treble/vintf/SystemVendorTest.cpp:131
Expected: (manifest_hwbinder_hals.find(name)) != (manifest_hwbinder_hals.end()), actual: 4-byte object <B8-B9 B1-FF> vs 4-byte object <B8-B9 B1-FF>
vendor.mediatek.hardware.mtkradioex@1.5::IMtkRadioEx/mtkEm1 is being served, but it is not in a manifest.
test/vts-testcase/hal/treble/vintf/SystemVendorTest.cpp:131
Expected: (manifest_hwbinder_hals.find(name)) != (manifest_hwbinder_hals.end()), actual: 4-byte object <B8-B9 B1-FF> vs 4-byte object <B8-B9 B1-FF>
vendor.mediatek.hardware.mtkradioex@1.5::IMtkRadioEx/mtkRcs1 is being served, but it is not in a manifest.
test/vts-testcase/hal/treble/vintf/SystemVendorTest.cpp:131
Expected: (manifest_hwbinder_hals.find(name)) != (manifest_hwbinder_hals.end()), actual: 4-byte object <B8-B9 B1-FF> vs 4-byte object <B8-B9 B1-FF>
vendor.mediatek.hardware.mtkradioex@1.5::IMtkRadioEx/mtkSe1 is being served, but it is not in a manifest.
test/vts-testcase/hal/treble/vintf/SystemVendorTest.cpp:131
Expected: (manifest_hwbinder_hals.find(name)) != (manifest_hwbinder_hals.end()), actual: 4-byte object <B8-B9 B1-FF> vs 4-byte object <B8-B9 B1-FF>
vendor.mediatek.hardware.mtkradioex@1.5::IMtkRadioEx/mtkSlot1 is being served, but it is not in a manifest.

解决方案

继续阅读“[VTS11R1]VtsTrebleFrameworkVintfTest#SystemVendorTest.ServedHwbinderHalsAreInManifest_32bit fail”

[VTS 9.0-R14]VtsTrebleFrameworkVintfTest#SystemVendorTest.ServedHwbinderHalsAreInManifest_32bit

问题描述

VtsTrebleFrameworkVintfTest
VtsTrebleFrameworkVintfTest#SystemVendorTest.ServedHwbinderHalsAreInManifest_32bit
fail: test/vts-testcase/hal/treble/vintf/SystemVendorTest.cpp:78
Expected: (manifest_hwbinder_hals_.find(name)) != (manifest_hwbinder_hals_.end()), actual: 4-byte object <78-67 8F-BE> vs 4-byte object <78-67 8F-BE>
vendor.mediatek.hardware.radio@3.3::IRadio/imsrild1 is being served, but it is not in a manifest.
test/vts-testcase/hal/treble/vintf/SystemVendorTest.cpp:78
Expected: (manifest_hwbinder_hals_.find(name)) != (manifest_hwbinder_hals_.end()), actual: 4-byte object <78-67 8F-BE> vs 4-byte object <78-67 8F-BE>
vendor.mediatek.hardware.radio@3.3::IRadio/imsrild2 is being served, but it is not in a manifest.

[VTS11R1]vts_kernel_encryption_test FBEPolicyTest#TestAesPerFileKeysPolicy

问题描述

vts_kernel_encryption_test
vts_kernel_encryption_test FBEPolicyTest#TestAesPerFileKeysPolicy
FAILURE:
[  INFO ] test/vts-testcase/kernel/encryption/utils.cpp:210:: /dev/block/platform/bootdevice/by-name/userdata is not a device-mapper device; metadata encryption is disabled
[  INFO ] test/vts-testcase/kernel/encryption/utils.cpp:265:: /dev/block/platform/bootdevice/by-name/userdata is mounted on /data with type ext4; UUID is 1bcf32795ea347bab94ae54d0cefd86c, raw block device is /dev/block/platform/bootdevice/by-name/userdata
[  INFO ] test/vts-testcase/kernel/encryption/file_based_encryption_tests.cpp:431:: Adding fscrypt master key, flags are 0x0, raw bytes are 67c6697351ff4aec29cdbaabf2fbe3467cc254f81be8e78d765a2e63339fc99a66320db73158a35a255d051758e95ed4abb2cdc69bb454110e827441213ddc87
[  INFO ] test/vts-testcase/kernel/encryption/file_based_encryption_tests.cpp:448:: Master key identifier is 9a281f7b673e99788e6caa93e612ec4b
[  INFO ] test/vts-testcase/kernel/encryption/file_based_encryption_tests.cpp:618:: Derived subkey 9a281f7b673e99788e6caa93e612ec4b using HKDF info 667363727970740001
[  INFO ] test/vts-testcase/kernel/encryption/file_based_encryption_tests.cpp:531:: Setting encryption policy on /data/unencrypted/vts-test-dir
[  INFO ] test/vts-testcase/kernel/encryption/file_based_encryption_tests.cpp:317:: Creating test file /data/unencrypted/vts-test-dir/file containing 1048576 bytes of data
[  INFO ] test/vts-testcase/kernel/encryption/file_based_encryption_tests.cpp:330:: Reading the raw ciphertext of /data/unencrypted/vts-test-dir/file from disk
[  INFO ] test/vts-testcase/kernel/encryption/file_based_encryption_tests.cpp:277:: Extent 1 of 1 is logical offset 0, physical offset 24117248, length 1048576, flags 0x1
[  INFO ] test/vts-testcase/kernel/encryption/file_based_encryption_tests.cpp:592:: Inode number: 917516
[  INFO ] test/vts-testcase/kernel/encryption/file_based_encryption_tests.cpp:600:: File nonce: 5b9443b10900d00691acad71a9c10a4a
[  INFO ] test/vts-testcase/kernel/encryption/file_based_encryption_tests.cpp:618:: Derived subkey e6387290d70f19f05482c3c6890052335aa8a52719df2ebc0183cdc40663d412c12db1344aba1dbf16c9c03773f9294b434660bd9b18a76a4c5d6b3d0592ae19 using HKDF info 6673637279707400025b9443b10900d00691acad71a9c10a4a
[  INFO ] test/vts-testcase/kernel/encryption/file_based_encryption_tests.cpp:704:: Verifying correctness of encrypted data
test/vts-testcase/kernel/encryption/file_based_encryption_tests.cpp:722: Failure
Expected equality of these values:
file_info.actual_ciphertext
Which is: { '5' (53, 0x35), 'n' (110, 0x6E), '\xDA' (218), '\x83' (131), '\xAE' (174), '\xAD' (173), 'x' (120, 0x78), '\x1B' (27), '\xC8' (200), '>' (62, 0x3E), '\x13' (19), '_' (95, 0x5F), 'o' (111, 0x6F), '\x87' (135), '\x16' (22), '\x98' (152), 'M' (77, 0x4D), '\xBD' (189), '\xA3' (163), '\xF' (15), '\xE' (14), '\xF1' (241), '\xB0' (176), '+' (43, 0x2B), '\x91' (145), 'B' (66, 0x42), '\xCC' (204), '\xC4' (196), '\xF' (15), 'A' (65, 0x41), '\xBD' (189), '\xD8' (216), ... }
computed_ciphertext
Which is: { '5' (53, 0x35), 'n' (110, 0x6E), '\xDA' (218), '\x83' (131), '\xAE' (174), '\xAD' (173), 'x' (120, 0x78), '\x1B' (27), '\xC8' (200), '>' (62, 0x3E), '\x13' (19), '_' (95, 0x5F), 'o' (111, 0x6F), '\x87' (135), '\x16' (22), '\x98' (152), 'M' (77, 0x4D), '\xBD' (189), '\xA3' (163), '\xF' (15), '\xE' (14), '\xF1' (241), '\xB0' (176), '+' (43, 0x2B), '\x91' (145), 'B' (66, 0x42), '\xCC' (204), '\xC4' (196), '\xF' (15), 'A' (65, 0x41), '\xBD' (189), '\xD8' (216), ... }

[VTS10.0r1]VtsKernelNetdTest#NetdSELinuxTest.CheckProperMTULabels_32bit fail

问题描述

VtsKernelNetdTest#NetdSELinuxTest.CheckProperMTULabels_32bit fail
VtsKernelNetdTest#NetdSELinuxTest.CheckProperMTULabels_64bit fail
system/netd/tests/netd_test.cpp:34
Expected equality of these values:
((1) &lt;&lt; 8 | (0))
Which is: 256
system("ls -Z /sys/class/net/*/mtu | egrep -q -v " "'^u:object_r:sysfs_net:s0 /sys/class/net/'")
Which is: 0

[VTS_10R4]vendor.mediatek.hardware.pplagent@1.0::IPplAgent not available.

问题描述

VtsTrebleVendorVintfTest
VtsTrebleVendorVintfTest#DeviceManifest/SingleManifestTest.HalsAreServed/0_64bit
Failed
vendor.mediatek.hardware.pplagent@1.0::IPplAgent not available.
test/vts-testcase/hal/treble/vintf/SingleManifestTest.cpp:51

解决方案

IPplAgent是为CTA做的手机防盗功能,只能用于国内过测CTA且贵司决定使用MTK的solution。

[VTS10R4]VtsTrebleFrameworkVintfTest#SystemVendorTest.ServedHwbinderHalsAreInManifest_64bit fail

问题描述

VtsTrebleFrameworkVintfTest
VtsTrebleFrameworkVintfTest#SystemVendorTest.ServedHwbinderHalsAreInManifest_64bit
fail:
test/vts-testcase/hal/treble/vintf/SystemVendorTest.cpp:131
Expected: (manifest_hwbinder_hals.find(name)) != (manifest_hwbinder_hals.end()), actual: 8-byte object <D8-6F D4-FE 7F-00 00-00> vs 8-byte object <D8-6F D4-FE 7F-00 00-00>
vendor.mediatek.hardware.mtkradioex@1.7::IMtkRadioEx/imsSlot1 is being served, but it is not in a manifest.

SystemVendorTest#ServedHwbinderHalsAreInManifest fail

问题描述

[VTS][cts-on-gsi]
CtsOnGsiTrebleFrameworkVintfTest
SystemVendorTest#ServedHwbinderHalsAreInManifest fail
Fail:
test/vts-testcase/hal/treble/vintf/SystemVendorTest.cpp:78: Failure                                                                                                        Expected: (manifest_hwbinder_hals_.find(name)) != (manifest_hwbinder_hals_.end()), actual: 8-byte object &lt;68-C8 6A-DD 7F-00 00-00&gt; vs 8-byte object &lt;68-C8 6A-DD 7F-00 00-00&gt;

[VTS10R4]VtsKernelNetTest#testKernelNetworking fail

问题描述

VtsKernelNetTest
VtsKernelNetTest#testKernelNetworking
Fail:
testAddDelSa (pf_key_test.PfKeyTest) ... FAIL

FAIL: testAddDelSa (pf_key_test.PfKeyTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/data/nativetest64/kernel_net_tests/kernel_net_tests/pf_key_test.py", line 52, in testAddDelSa
    self.assertEquals(2, len(sainfos))
AssertionError: 2 != 12

CTS10R3/VTS 10R3][Q GO]android.media.cts.MediaCodecCapabilitiesTest#testGetMaxSupportedInstances fail

问题描述

[CTS/VTS 10R3][QGO/512M]
[CTS][cts-on-gsi]
CtsMediaTestCases
android.media.cts.MediaCodecCapabilitiesTest#testGetMaxSupportedInstance
junit.framework.AssertionFailedError: In order to pass the test, please publish following codecs' concurrent instances limit in /etc/media_codecs.xml:
<MediaCodec name="OMX.MTK.AUDIO.DECODER.MP3" type="audio/mpeg" >
    <Limit name="concurrent-instances" max="16" />
</MediaCodec>

[VTS10R4]VtsHalWifiSupplicantV1_2Host

问题描述

VtsHalWifiSupplicantV1_2Host
VtsHalWifiSupplicantV1_2Host#SupplicantStaIfaceHidlTest.StartDppEnrolleeInitiator(default,default,default,default,default)_64bit
VtsHalWifiSupplicantV1_2Host#SupplicantStaIfaceHidlTest.StartDppConfiguratorInitiator(default,default,default,default,default)_64bit
VtsHalWifiSupplicantV1_2Host#SupplicantStaNetworkHidlTest.SetGetGroupMgmtCipher(default,default,default,default,default)_64bit
VtsHalWifiSupplicantV1_2Host#SupplicantStaNetworkHidlTest.EnableSuiteBEapOpenSslCiphers(default,default,default)_64bit
Fail:
hardware/interfaces/wifi/supplicant/1.2/vts/functional/supplicant_sta_iface_hidl_test.cpp:407
Expected equality of these values:
  std::cv_status::no_timeout
    Which is: 4-byte object <00-00 00-00>
  wait(SupplicantStaIfaceHidlTest::DppCallbackType::EVENT_FAILURE)
    Which is: 4-byte object <01-00 00-00>

继续阅读“[VTS10R4]VtsHalWifiSupplicantV1_2Host”

[CTS/VTS10R4]android.location.cts.GnssMeasurementValuesTest#testListenForGnssMeasurements

问题描述

CtsLocationTestCases
android.location.cts.GnssMeasurementValuesTest#testListenForGnssMeasurements
Fail:
junit.framework.AssertionFailedError: Failing tests are:
(Test: FAIL) Used Svs with no Meas: [GNSS_L1.5.19, GNSS_L1.1.3, GNSS_L1.3.2, GNSS_L1.5.1]

继续阅读“[CTS/VTS10R4]android.location.cts.GnssMeasurementValuesTest#testListenForGnssMeasurements”

[VTS10R3]VtsHalSensorsV2_0Target#SensorsHidlTest.FlushSensor(default)_32bit fail

问题描述

VtsHalSensorsV2_0Target
VtsHalSensorsV2_0Target#SensorsHidlTest.FlushSensor(default)_32bit
Fail:
hardware/interfaces/sensors/2.0/vts/functional/VtsHalSensorsV2_0TargetTest.cpp:730
Expected equality of these values:
  callback.getFlushCount(sensor.sensorHandle)
    Which is: 0
  expectedFlushCount
    Which is: 5

继续阅读“[VTS10R3]VtsHalSensorsV2_0Target#SensorsHidlTest.FlushSensor(default)_32bit fail”

[VTS10R3]android.hardware.neuralnetworks@1.1::IDevice not available

问题描述

VtsTrebleVendorVintfTes
VtsTrebleVendorVintfTest#DeviceManifest/SingleManifestTest.HalsAreServed/0_64bit fail:
test/vts-testcase/hal/treble/vintf/SingleManifestTest.cpp:51
Failed
android.hardware.neuralnetworks@1.1::IDevice not available.
04-14 14:59:03.504 ERROR 1 disallowed dependencies:
/vendor/bin/hw/android.hardware.neuralnetworks@1.1-service-gpunn: libcompiler_rt.so
04-14 14:59:03.505 ERROR 1 != 0 Total number of errors: 1
04-14 14:59:03.506 ERROR [Test Case] 1/1 testElfDependency FAIL

解决方案

继续阅读“[VTS10R3]android.hardware.neuralnetworks@1.1::IDevice not available”

[VTS-Q]刷GSI提示空间不足

问题描述

 烧录GSI,执行fastboot flash system system.img时,提示Resizing 'system' FAILED (remote: 'Not enough space to resize partition')。
在项目的BoardConfig.mk里定义了BOARD_MTK_SUPER_SIZE_KB:=2560000 , BOARD_MTK_SYSTEM_SIZE_KB:=1258292,但实际system.img只有600多M。
adb shell lpdump -j ,打印如下:
...
{
"name": "system",
"group_name": "main",
"is_dynamic": true,
"size": "630095872",
"fs_size": "619220992",
"fs_used": "619220992"
},
...
"block_devices": [
{
"name": "super",
"size": "2625634304",
"block_size": "4096",
"alignment": "1048576"
}
]
super空间充足,无法烧录gsi

解决方案

继续阅读“[VTS-Q]刷GSI提示空间不足”

[VTS10R3]VtsHalDrmV1_2Target

问题描述

VtsHalDrmV1_2Target
VtsHalDrmV1_2Target#DrmHalTestVendor/DrmHalTest.DoProvisioning/0_64bit
VtsHalDrmV1_2Target#DrmHalTestVendor/DrmHalTest.DoProvisioning/0_32bit
 VtsHalDrmV1_2Target#DrmHalTestVendor/DrmHalTest.DoProvisioning fail on widevine L1
 hardware/interfaces/drm/1.2/vts/functional/drm_hal_common.cpp:238

Expected equality of these values:

StatusV1_0::OK

Which is: 4-byte object <00-00 00-00>

status

Which is: 4-byte object <03-00 00-00>

[  FAILED  ] DrmHalTestVendor/DrmHalTest.DoProvisioning/0, where GetParam() = "/data/local/tmp/64/lib/libvtswidevine.so" (3498 ms)

解决方案

继续阅读“[VTS10R3]VtsHalDrmV1_2Target”

[VTSR3]vendor.mediatek.hardware.presence@1.0::IPresence not available.

问题描述

04-03 12:55:16 I/ModuleListener: [9/9] VtsTrebleVendorVintfTest#DeviceManifest/SingleManifestTest.InterfacesAreReleased/0_32bit fail:
test/vts-testcase/hal/treble/vintf/SingleManifestTest.cpp:51
Failed
vendor.mediatek.hardware.presence@1.0::IPresence not available.
test/vts-testcase/hal/treble/vintf/SingleManifestTest.cpp:51
Failed
vendor.mediatek.hardware.presence@1.0::IPresence not available.

解决方案

继续阅读“[VTSR3]vendor.mediatek.hardware.presence@1.0::IPresence not available.”

[VTS10R3]VtsFastbootVerification

问题描述

VtsFastbootVerification
VtsFastbootVerification#testFastbootReboot fail:
VtsFastbootVerification#testFastbootdSlotOperations
VtsFastbootVerification#testLogicalPartitionCommands
VtsFastbootVerification#testLogicalPartitionFlashing
Unknown error: test case requested but not executed.

解决方案

继续阅读“[VTS10R3]VtsFastbootVerification”