blob: 286abbea060b01337d182551c382e18287ebd6e6 [file] [log] [blame]
// Copyright 2014 The Android Open Source Project
//
// This software is licensed under the terms of the GNU General Public
// License version 2, as published by the Free Software Foundation, and
// may be copied, distributed, and modified under those terms.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
#include "android/filesystems/fstab_parser.h"
#include <gtest/gtest.h>
TEST(FstabParser, ParsePartitionFormat) {
static const char kFstab[] =
"# Android fstab file.\n"
"#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>\n"
"# The filesystem that contains the filesystem checker binary (typically /system) cannot\n"
"# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK\n"
"/dev/block/mtdblock0 /system ext4 ro,barrier=1 wait\n"
"/dev/block/mtdblock1\t \t /data\t yaffs2 noatime,nosuid,nodev,barrier=1,nomblk_io_submit wait,check\n"
"/dev/block/mtdblock2\t/cache\tntfs\tnoatime,nosuid,nodev wait,check\n"
"/devices/platform/goldfish_mmc.0\t\t\tauto\tvfat defaults voldmanaged=sdcard:auto\n"
;
static const size_t kFstabSize = sizeof(kFstab);
char* out = NULL;
EXPECT_TRUE(android_parseFstabPartitionFormat(kFstab, kFstabSize,
"/system", &out));
EXPECT_STREQ("ext4", out);
free(out);
EXPECT_TRUE(android_parseFstabPartitionFormat(kFstab, kFstabSize,
"/data", &out));
EXPECT_STREQ("yaffs2", out);
free(out);
EXPECT_TRUE(android_parseFstabPartitionFormat(kFstab, kFstabSize,
"/cache", &out));
EXPECT_STREQ("ntfs", out);
free(out);
EXPECT_FALSE(android_parseFstabPartitionFormat(kFstab, kFstabSize,
"/unknown", &out));
}