1f21fb798SNaresh Kamboju#!/bin/bash
2f21fb798SNaresh Kamboju# Copyright (c) 2015 Oracle and/or its affiliates. All Rights Reserved.
3f21fb798SNaresh Kamboju#
4f21fb798SNaresh Kamboju# This program is free software; you can redistribute it and/or
5f21fb798SNaresh Kamboju# modify it under the terms of the GNU General Public License as
6f21fb798SNaresh Kamboju# published by the Free Software Foundation; either version 2 of
7f21fb798SNaresh Kamboju# the License, or (at your option) any later version.
8f21fb798SNaresh Kamboju#
9f21fb798SNaresh Kamboju# This program is distributed in the hope that it would be useful,
10f21fb798SNaresh Kamboju# but WITHOUT ANY WARRANTY; without even the implied warranty of
11f21fb798SNaresh Kamboju# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
12f21fb798SNaresh Kamboju# GNU General Public License for more details.
13f21fb798SNaresh Kamboju#
14f21fb798SNaresh Kamboju# Test checks that we can create swap zram device.
15f21fb798SNaresh Kamboju#
16f21fb798SNaresh Kamboju# Author: Alexey Kodanev <alexey.kodanev@oracle.com>
17f21fb798SNaresh Kamboju# Modified: Naresh Kamboju <naresh.kamboju@linaro.org>
18f21fb798SNaresh Kamboju
19f21fb798SNaresh KambojuTCID="zram02"
20f21fb798SNaresh KambojuERR_CODE=0
21f21fb798SNaresh Kamboju
22f21fb798SNaresh Kamboju. ./zram_lib.sh
23f21fb798SNaresh Kamboju
24f21fb798SNaresh Kamboju# Test will create the following number of zram devices:
25f21fb798SNaresh Kambojudev_num=1
26f21fb798SNaresh Kamboju# This is a list of parameters for zram devices.
27f21fb798SNaresh Kamboju# Number of items must be equal to 'dev_num' parameter.
28f21fb798SNaresh Kambojuzram_max_streams="2"
29f21fb798SNaresh Kamboju
30f21fb798SNaresh Kamboju# The zram sysfs node 'disksize' value can be either in bytes,
31f21fb798SNaresh Kamboju# or you can use mem suffixes. But in some old kernels, mem
32f21fb798SNaresh Kamboju# suffixes are not supported, for example, in RHEL6.6GA's kernel
33f21fb798SNaresh Kamboju# layer, it uses strict_strtoull() to parse disksize which does
34f21fb798SNaresh Kamboju# not support mem suffixes, in some newer kernels, they use
35f21fb798SNaresh Kamboju# memparse() which supports mem suffixes. So here we just use
36f21fb798SNaresh Kamboju# bytes to make sure everything works correctly.
37f21fb798SNaresh Kambojuzram_sizes="1048576" # 1M
38f21fb798SNaresh Kambojuzram_mem_limits="1M"
39f21fb798SNaresh Kamboju
40f21fb798SNaresh Kambojuzram_load
41f21fb798SNaresh Kambojuzram_max_streams
42f21fb798SNaresh Kambojuzram_set_disksizes
43f21fb798SNaresh Kambojuzram_set_memlimit
44f21fb798SNaresh Kambojuzram_makeswap
45f21fb798SNaresh Kambojuzram_swapoff
46f21fb798SNaresh Kambojuzram_cleanup
47f21fb798SNaresh Kambojuzram_unload
48f21fb798SNaresh Kamboju
49f21fb798SNaresh Kambojuif [ $ERR_CODE -ne 0 ]; then
50f21fb798SNaresh Kamboju	echo "$TCID : [FAIL]"
51f21fb798SNaresh Kambojuelse
52f21fb798SNaresh Kamboju	echo "$TCID : [PASS]"
53f21fb798SNaresh Kambojufi
54