1Test the nx-gzip function:
2=========================
3
4Verify that following device exists:
5  /dev/crypto/nx-gzip
6If you get a permission error run as sudo or set the device permissions:
7   sudo chmod go+rw /dev/crypto/nx-gzip
8However, chmod may not survive across boots. You may create a udev file such
9as:
10   /etc/udev/rules.d/99-nx-gzip.rules
11
12
13To manually build and run:
14$ gcc -O3 -I./include -o gzfht_test gzfht_test.c gzip_vas.c
15$ gcc -O3 -I./include -o gunz_test gunz_test.c gzip_vas.c
16
17
18Compress any file using Fixed Huffman mode. Output will have a .nx.gz suffix:
19$ ./gzfht_test gzip_vas.c
20file gzip_vas.c read, 6413 bytes
21compressed 6413 to 3124 bytes total, crc32 checksum = abd15e8a
22
23
24Uncompress the previous output. Output will have a .nx.gunzip suffix:
25./gunz_test gzip_vas.c.nx.gz
26gzHeader FLG 0
2700 00 00 00 04 03
28gzHeader MTIME, XFL, OS ignored
29computed checksum abd15e8a isize 0000190d
30stored   checksum abd15e8a isize 0000190d
31decomp is complete: fclose
32
33
34Compare two files:
35$ sha1sum gzip_vas.c.nx.gz.nx.gunzip gzip_vas.c
36bf43e3c0c3651f5f22b6f9784cd9b1eeab4120b6  gzip_vas.c.nx.gz.nx.gunzip
37bf43e3c0c3651f5f22b6f9784cd9b1eeab4120b6  gzip_vas.c
38
39
40Note that the code here are intended for testing the nx-gzip hardware function.
41They are not intended for demonstrating performance or compression ratio.
42By being simplistic these selftests expect to allocate the entire set of source
43and target pages in the memory so it needs enough memory to work.
44For more information and source code consider using:
45https://github.com/libnxz/power-gzip
46