[System][Non-ACR][Fix Tizen.System.Manual.Tests to avoid crash 43/216443/2
authorYunmi Ha <yunmi.ha@samsung.com>
Fri, 25 Oct 2019 03:19:34 +0000 (12:19 +0900)
committerYunmi Ha <yunmi.ha@samsung.com>
Fri, 25 Oct 2019 04:23:10 +0000 (13:23 +0900)
warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.
Core was generated by `/opt/usr/globalapps/Tizen.System.Manual.Tests/bin/Tizen.System.Manual.Tests.dll'.
Program terminated with signal SIGABRT, Aborted.
[Current thread is 1 (LWP 19445)]
(gdb) bt
    at /usr/src/debug/coreclr-3.0.0/src/pal/src/thread/process.cpp:1480
    at /usr/src/debug/coreclr-3.0.0/src/vm/eepolicy.cpp:511
    pszMessage=0xb8968978 u"A callback was made on a garbage collected delegate of type 'Tizen.System.Storage!Interop+Storage+StorageS
tateChangedCallback::Invoke'.", pExceptionInfo=0xbee96a40, errorSource=0x0, argExceptionString=<optimized out>)
    at /usr/src/debug/coreclr-3.0.0/src/vm/eepolicy.cpp:1213
    at /usr/src/debug/coreclr-3.0.0/src/vm/dllimportcallback.cpp:1021
    fsuuid=0xb8a086a8 "7076-0F0C", mountpath=0xb89f4b60 "/opt/media/SDCardA", primary=true, flags=0, user_data=0x0)
    at /usr/src/debug/libstorage-1.0.0/src/storage.c:367
    at /usr/src/debug/libstorage-1.0.0/src/storage-external.c:248
    at /usr/src/debug/libstorage-1.0.0/src/storage-external-dbus.c:443
    signal=0xad904cf0 "DeviceRemoved", params=0xad907050, user_data=0x0)
    at /usr/src/debug/libstorage-1.0.0/src/storage-external-dbus.c:488

Change-Id: I70c8c01f8ead999c0db73cb9b23d2fb8cbb5fa4f
Signed-off-by: Yunmi Ha <yunmi.ha@samsung.com>
tct-suite-vs/Tizen.System.Manual.Tests/testcase/TSStorage.cs

index 2fec3b4..e68e0ec 100644 (file)
@@ -75,13 +75,18 @@ namespace Tizen.System.Tests
                     ManualTest.Confirm();
                 };
 
-                foreach (var storage in StorageManager.Storages)
+                foreach (var storage in storages)
                 {
                     storage.StorageStateChanged += callback;
                 }
 
                 // need to manually change state of any external storage
                 await ManualTest.WaitForConfirm();
+
+                foreach (var storage in storages)
+                {
+                    storage.StorageStateChanged -= callback;
+                }
             } else
                 Assert.Pass("Test skipped! The external storage is Not available");
         }