winpr-comm: made the unit tests to succeed when /dev/ttyS0 is not available
authorEmmanuel Ledoux <eledoux@hp.com>
Thu, 3 Jul 2014 17:01:45 +0000 (19:01 +0200)
committerEmmanuel Ledoux <emmanuel.ledoux@hp.com>
Thu, 3 Jul 2014 17:01:45 +0000 (19:01 +0200)
winpr/libwinpr/comm/test/TestCommConfig.c
winpr/libwinpr/comm/test/TestControlSettings.c
winpr/libwinpr/comm/test/TestGetCommState.c
winpr/libwinpr/comm/test/TestHandflow.c
winpr/libwinpr/comm/test/TestSerialChars.c
winpr/libwinpr/comm/test/TestSetCommState.c
winpr/libwinpr/comm/test/TestTimeouts.c

index edb48bd..093c44e 100644 (file)
@@ -18,6 +18,8 @@
  * limitations under the License.
  */
 
+#include <sys/stat.h>
+
 #include <winpr/crt.h>
 #include <winpr/comm.h>
 #include <winpr/file.h>
@@ -31,6 +33,7 @@ int TestCommConfig(int argc, char* argv[])
        BOOL success;
        LPCSTR lpFileName = "\\\\.\\COM1";
        COMMPROP commProp;
+       struct stat statbuf;
 
        hComm = CreateFileA(lpFileName,
                        GENERIC_READ | GENERIC_WRITE,
@@ -42,7 +45,12 @@ int TestCommConfig(int argc, char* argv[])
                return EXIT_FAILURE;
        }
 
-       // TMP: FIXME: check if we can proceed with tests on the actual device, skip and warn otherwise but don't fail
+       if (stat("/dev/ttyS0", &statbuf) < 0)
+       {
+               fprintf(stderr, "/dev/ttyS0 not available, making the test to succeed though\n");
+               return EXIT_SUCCESS;
+       }
+
        success = DefineCommDevice(lpFileName, "/dev/ttyS0");
        if(!success)
        {
index dde4c98..becdae2 100644 (file)
@@ -19,6 +19,8 @@
 
 #include <stdio.h>
 
+#include <sys/stat.h>
+
 #include <winpr/comm.h>
 #include <winpr/crt.h>
 
 
 int TestControlSettings(int argc, char* argv[])
 {
+       struct stat statbuf;
        BOOL result;
        HANDLE hComm;
        DCB dcb;
 
-       // TMP: FIXME: check if we can proceed with tests on the actual device, skip and warn otherwise but don't fail
+       if (stat("/dev/ttyS0", &statbuf) < 0)
+       {
+               fprintf(stderr, "/dev/ttyS0 not available, making the test to succeed though\n");
+               return EXIT_SUCCESS;
+       }
+
        result = DefineCommDevice("COM1", "/dev/ttyS0");
        if (!result)
        {
index 1a4df95..b5cc304 100644 (file)
@@ -18,6 +18,7 @@
  */
 
 #include <stdio.h>
+#include <sys/stat.h>
 
 #include <winpr/comm.h>
 #include <winpr/crt.h>
@@ -72,10 +73,16 @@ static BOOL test_generic(HANDLE hComm)
 
 int TestGetCommState(int argc, char* argv[])
 {
+       struct stat statbuf;
        BOOL result;
        HANDLE hComm;
 
-       // TMP: FIXME: check if we can proceed with tests on the actual device, skip and warn otherwise but don't fail
+       if (stat("/dev/ttyS0", &statbuf) < 0)
+       {
+               fprintf(stderr, "/dev/ttyS0 not available, making the test to succeed though\n");
+               return EXIT_SUCCESS;
+       }
+
        result = DefineCommDevice("COM1", "/dev/ttyS0");
        if (!result)
        {
index 098b8b0..1e536e7 100644 (file)
@@ -18,6 +18,7 @@
  */
 
 #include <stdio.h>
+#include <sys/stat.h>
 #include <termios.h>
 
 #include <winpr/comm.h>
@@ -34,10 +35,16 @@ static BOOL test_SerialSys(HANDLE hComm)
 
 int TestHandflow(int argc, char* argv[])
 {
+       struct stat statbuf;
        BOOL result;
        HANDLE hComm;
 
-       // TMP: FIXME: check if we can proceed with tests on the actual device, skip and warn otherwise but don't fail
+       if (stat("/dev/ttyS0", &statbuf) < 0)
+       {
+               fprintf(stderr, "/dev/ttyS0 not available, making the test to succeed though\n");
+               return EXIT_SUCCESS;
+       }
+
        result = DefineCommDevice("COM1", "/dev/ttyS0");
        if (!result)
        {
index d17c2f8..8cd3dc9 100644 (file)
@@ -18,6 +18,7 @@
  */
 
 #include <stdio.h>
+#include <sys/stat.h>
 #include <termios.h>
 
 #include <winpr/comm.h>
@@ -128,10 +129,16 @@ static BOOL test_SerCx2Sys(HANDLE hComm)
 
 int TestSerialChars(int argc, char* argv[])
 {
+       struct stat statbuf;
        BOOL result;
        HANDLE hComm;
 
-       // TMP: FIXME: check if we can proceed with tests on the actual device, skip and warn otherwise but don't fail
+       if (stat("/dev/ttyS0", &statbuf) < 0)
+       {
+               fprintf(stderr, "/dev/ttyS0 not available, making the test to succeed though\n");
+               return EXIT_SUCCESS;
+       }
+
        result = DefineCommDevice("COM1", "/dev/ttyS0");
        if (!result)
        {
index 9c06263..63dbdfd 100644 (file)
@@ -18,6 +18,7 @@
  */
 
 #include <stdio.h>
+#include <sys/stat.h>
 
 #include <winpr/comm.h>
 #include <winpr/crt.h>
@@ -317,10 +318,16 @@ static BOOL test_generic(HANDLE hComm)
 
 int TestSetCommState(int argc, char* argv[])
 {
+       struct stat statbuf;
        BOOL result;
        HANDLE hComm;
 
-       // TMP: FIXME: check if we can proceed with tests on the actual device, skip and warn otherwise but don't fail
+       if (stat("/dev/ttyS0", &statbuf) < 0)
+       {
+               fprintf(stderr, "/dev/ttyS0 not available, making the test to succeed though\n");
+               return EXIT_SUCCESS;
+       }
+
        result = DefineCommDevice("COM1", "/dev/ttyS0");
        if (!result)
        {
index 4f6c894..c7d4c22 100644 (file)
@@ -18,6 +18,7 @@
  */
 
 #include <stdio.h>
+#include <sys/stat.h>
 #include <termios.h>
 
 #include <winpr/comm.h>
@@ -75,10 +76,16 @@ static BOOL test_generic(HANDLE hComm)
 
 int TestTimeouts(int argc, char* argv[])
 {
+       struct stat statbuf;
        BOOL result;
        HANDLE hComm;
 
-       // TMP: FIXME: check if we can proceed with tests on the actual device, skip and warn otherwise but don't fail
+       if (stat("/dev/ttyS0", &statbuf) < 0)
+       {
+               fprintf(stderr, "/dev/ttyS0 not available, making the test to succeed though\n");
+               return EXIT_SUCCESS;
+       }
+
        result = DefineCommDevice("COM1", "/dev/ttyS0");
        if (!result)
        {