Browse Source

Merge pull request #12246 from dcamper/hpcc-21559-std-system-util-platformversioncheck-fix

HPCC-21559 Fix Std.System.Util.PlatformVersionCheck declaration location

Reviewed-by: Gavin Halliday <ghalliday@hpccsystems.com>
Gavin Halliday 6 years ago
parent
commit
e60cc65425
2 changed files with 67 additions and 2 deletions
  1. 2 2
      ecllibrary/std/system/Util.ecl
  2. 65 0
      ecllibrary/teststd/system/TestSystem.ecl

+ 2 - 2
ecllibrary/std/system/Util.ecl

@@ -51,8 +51,6 @@ EXPORT varstring ResolveHostName(varstring hostname ) :=
 EXPORT unsigned8 getUniqueInteger(varstring foreigndali='') :=
     lib_fileservices.FileServices.getUniqueInteger(foreigndali);
 
-END;
-
 /**
  * Simple function that tests a full version string against the individual
  * platform version constants to determine if the platform's version is at
@@ -88,3 +86,5 @@ EXPORT PlatformVersionCheck(STRING v) := FUNCTION
             FALSE
         );
 END;
+
+END;

+ 65 - 0
ecllibrary/teststd/system/TestSystem.ecl

@@ -0,0 +1,65 @@
+/*##############################################################################
+## HPCC SYSTEMS software Copyright (C) 2019 HPCC Systems®.  All rights reserved.
+############################################################################## */
+
+IMPORT Std;
+
+EXPORT TestSystem := MODULE
+
+    SHARED CURRENT_MAJOR_0 := (STRING)__ecl_version_major__;
+    SHARED CURRENT_MAJOR_1 := CURRENT_MAJOR_0 + '.0';
+    SHARED CURRENT_MAJOR_2 := CURRENT_MAJOR_1 + '.0';
+    SHARED CURRENT_MAJOR_3 := CURRENT_MAJOR_2 + '-1';
+
+    SHARED CURRENT_MINOR_1 := (STRING)__ecl_version_major__ + '.' + (STRING)__ecl_version_minor__;
+    SHARED CURRENT_MINOR_2 := CURRENT_MINOR_1 + '.0';
+    SHARED CURRENT_MINOR_3 := CURRENT_MINOR_2 + '-1';
+
+    SHARED CURRENT_SUBMINOR_0 := (STRING)__ecl_version_major__ + '.' + (STRING)__ecl_version_minor__ + '.' + (STRING)__ecl_version_subminor__;
+    SHARED CURRENT_SUBMINOR_1 := CURRENT_SUBMINOR_0 + '-1';
+
+    SHARED CURRENT_PLUS_ONE_MAJOR_0 := (STRING)(__ecl_version_major__ + 1);
+    SHARED CURRENT_PLUS_ONE_MAJOR_1 := CURRENT_PLUS_ONE_MAJOR_0 + '.0';
+    SHARED CURRENT_PLUS_ONE_MAJOR_2 := CURRENT_PLUS_ONE_MAJOR_1 + '.0';
+    SHARED CURRENT_PLUS_ONE_MAJOR_3 := CURRENT_PLUS_ONE_MAJOR_2 + '-1';
+
+    SHARED CURRENT_PLUS_ONE_MINOR_1 := (STRING)__ecl_version_major__ + '.' + (STRING)(__ecl_version_minor__ + 1);
+    SHARED CURRENT_PLUS_ONE_MINOR_2 := CURRENT_PLUS_ONE_MINOR_1 + '.0';
+    SHARED CURRENT_PLUS_ONE_MINOR_3 := CURRENT_PLUS_ONE_MINOR_2 + '-1';
+
+    SHARED CURRENT_PLUS_ONE_SUBMINOR_0 := (STRING)__ecl_version_major__ + '.' + (STRING)__ecl_version_minor__ + '.' + (STRING)(__ecl_version_subminor__ + 1);
+    SHARED CURRENT_PLUS_ONE_SUBMINOR_1 := CURRENT_PLUS_ONE_SUBMINOR_0 + '-1';
+
+    EXPORT TestConstant := [
+
+        ASSERT(Std.System.Util.PlatformVersionCheck(CURRENT_MAJOR_0) = TRUE, CONST);
+        ASSERT(Std.System.Util.PlatformVersionCheck(CURRENT_MAJOR_1) = TRUE, CONST);
+        ASSERT(Std.System.Util.PlatformVersionCheck(CURRENT_MAJOR_2) = TRUE, CONST);
+        ASSERT(Std.System.Util.PlatformVersionCheck(CURRENT_MAJOR_3) = TRUE, CONST);
+
+        ASSERT(Std.System.Util.PlatformVersionCheck(CURRENT_MINOR_1) = TRUE, CONST);
+        ASSERT(Std.System.Util.PlatformVersionCheck(CURRENT_MINOR_2) = TRUE, CONST);
+        ASSERT(Std.System.Util.PlatformVersionCheck(CURRENT_MINOR_3) = TRUE, CONST);
+
+        ASSERT(Std.System.Util.PlatformVersionCheck(CURRENT_SUBMINOR_0) = TRUE, CONST);
+        ASSERT(Std.System.Util.PlatformVersionCheck(CURRENT_SUBMINOR_1) = TRUE, CONST);
+
+        ASSERT(Std.System.Util.PlatformVersionCheck(CURRENT_PLUS_ONE_MAJOR_0) = FALSE, CONST);
+        ASSERT(Std.System.Util.PlatformVersionCheck(CURRENT_PLUS_ONE_MAJOR_1) = FALSE, CONST);
+        ASSERT(Std.System.Util.PlatformVersionCheck(CURRENT_PLUS_ONE_MAJOR_2) = FALSE, CONST);
+        ASSERT(Std.System.Util.PlatformVersionCheck(CURRENT_PLUS_ONE_MAJOR_3) = FALSE, CONST);
+
+        ASSERT(Std.System.Util.PlatformVersionCheck(CURRENT_PLUS_ONE_MINOR_1) = FALSE, CONST);
+        ASSERT(Std.System.Util.PlatformVersionCheck(CURRENT_PLUS_ONE_MINOR_2) = FALSE, CONST);
+        ASSERT(Std.System.Util.PlatformVersionCheck(CURRENT_PLUS_ONE_MINOR_3) = FALSE, CONST);
+
+        ASSERT(Std.System.Util.PlatformVersionCheck(CURRENT_PLUS_ONE_SUBMINOR_0) = FALSE, CONST);
+        ASSERT(Std.System.Util.PlatformVersionCheck(CURRENT_PLUS_ONE_SUBMINOR_1) = FALSE, CONST);
+
+        ASSERT(TRUE, CONST)
+
+    ];
+
+    EXPORT Main := [EVALUATE(TestConstant)];
+
+END;