In jpackage test suite there is a test utility WindowsHelper.queryRegistryValue 
. It is used to verify changes to Windows registry that can be done by 
installer packages. It spawns `reg.exe query` process and parses its output. 
This patch adds support for quering empty values and additional REG_* datatypes.

Correctness was verified manually with the following registry values:


        //    (Default)    REG_SZ    test1
        //    string_val    REG_SZ    test2
        //    string_val_empty    REG_SZ
        //    bin_val    REG_BINARY    4242
        //    bin_val_empty    REG_BINARY
        //    dword_val    REG_DWORD    0x2a
        //    qword_val    REG_QWORD    0x2a
        //    multi_string_val    REG_MULTI_SZ    test3\0test4
        //    multi_string_val_empty    REG_MULTI_SZ
        //    expand_string_val    REG_EXPAND_SZ    test5
        //    expand_string_val_empty    REG_EXPAND_SZ


Corresponding utility output:


[04:36:38.190] TRACE: Registry value [] at [...] path is [test1]
[04:36:38.220] TRACE: Registry value [string_val] at [...] path is [test2]
[04:36:38.251] TRACE: Registry value [string_val_empty] at [...] path is []
[04:36:38.282] TRACE: Registry value [bin_val] at [...] path is [4242]
[04:36:38.315] TRACE: Registry value [bin_val_empty] at [...] path is []
[04:36:38.347] TRACE: Registry value [dword_val] at [...] path is [0x2a]
[04:36:38.378] TRACE: Registry value [qword_val] at [...] path is [0x2a]
[04:36:38.410] TRACE: Registry value [multi_string_val] at [...] path is 
[test3\\0test4]
[04:36:38.441] TRACE: Registry value [multi_string_val_empty] at [...] path is 
[]
[04:36:38.473] TRACE: Registry value [expand_string_val] at [...] path is 
[test5]
[04:36:38.506] TRACE: Registry value [expand_string_val_empty] at [...] path is 
[]


Testing:

 - [x] ran "jtreg:jdk/tools/jpackage/windows" before and after the patch

-------------

Commit messages:
 - 8288013: jpackage: test utility Windows registry enhancement

Changes: https://git.openjdk.java.net/jdk/pull/9083/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=9083&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8288013
  Stats: 20 lines in 1 file changed: 17 ins; 0 del; 3 mod
  Patch: https://git.openjdk.java.net/jdk/pull/9083.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/9083/head:pull/9083

PR: https://git.openjdk.java.net/jdk/pull/9083

Reply via email to