History log of /fuchsia/zircon/system/ulib/fs-test-utils/perftest.cpp
Revision Date Author Comments
# db051e24 31-Aug-2018 Gianfranco Valentino <gevalentino@gevalentino.mtv.corp.google.com>

[fs-test-utils]: Use rand_r

Instead of just srand the provided seed, we set it on every SetUp
and in perftests before any test the seed also rests to the given value.
Fixture::seed returns a pointer to the seed that needs to be used by
rand_r.

TESTS: fs-test-utils-test,fs-bench-tests
Change-Id: I59f58d1e901e31211741265d72d8dd3407747c6c


# f8d397c1 16-Aug-2018 Mark Seaborn <mseaborn@google.com>

[fs-test-utils] Fix test suite name outputted in the JSON perf results file

Before, the test name was copied as the test suite name, which is not
the right thing to do. An example is
"minfs/Bigfile/16Kbytes/1024-Ops/1-Cycle/Write". When uploaded to the
Catapult dashboard, this gets rejected with a "400 Bad Request" error,
presumably because of the slashes in the name.

This should fix the garnet-x64-perf-swift_canyon bot, which is failing
because its Catapult upload step now fails.

Bug: ZX-2492
Test: "/boot/test/fs/fs-bench-test --out /tmp/results.json && dd if=/tmp/results.json"
and check output
Change-Id: Idd0644ee37e89def020f79f8aa1e6c9fd2f1d490


# 8c588f66 16-Aug-2018 Mark Seaborn <mseaborn@google.com>

[fs-test-utils] Remove unnecessary "return;" statements at ends of functions

Bug: none
Test: build
Change-Id: I6e88fa7f44db101251e2984fe101519735923dac


# 19d3eda9 14-Aug-2018 Mark Seaborn <mseaborn@google.com>

[fs-bench] Return an error if given an unrecognised filesystem type

Bug: none
Test: "/boot/test/fs/fs-bench-test --fs foo ; echo $?"
Change-Id: Ief61aeefc4d5058a8831f5d90a084fc6f34545cf


# f813a098 14-Aug-2018 Mark Seaborn <mseaborn@google.com>

[fs-test-utils] Fix typo in help text

Bug: none
Test: none
Change-Id: I90c3931389ee277b1af638ec45d18764bea02a5b


# 9680f73a 14-Aug-2018 Mark Seaborn <mseaborn@google.com>

[fs-test-utils] Fix help text to match option name

"--runs" is the actual option name, and this matches the perftest
library's "--runs" option.

Note that getopt_long() does actually accept "--run" (because it
accepts abbreviations), though it's not guaranteed to do so if other
options are added with similar names.

Bug: none
Test: none
Change-Id: Ie6e2cee8df11e5829dab3fe443e0e9dd39197ce7


# 88551be1 16-Jul-2018 gevalentino <gevalentino@gevalentino0.mtv.corp.google.com>

[fs-test-utils]: Add --seed command lined.

Allows easy reproduction of tests that use random number generators.
Each test is seeded individually.

TEST=fs-test-utils-test,fs-bench-test

Change-Id: I2ad80977c42bf78b16f883f77f1ea99f30dafbb8


# cfd4dbf0 16-Jul-2018 gevalentino <gevalentino@gevalentino0.mtv.corp.google.com>

[fs-test-utils]: Make result_path(--out) optional.

Made the --out flag optiona, but a performance test requires output,
so either --out, --summary_path or --print_statistics MUST be set.
Added test to verify IsValid behaviour.

TEST=fs-test-utils-test

Change-Id: I44be26edcf3595810b22f621d5fca99a2506f358


# b994e4a3 13-Jul-2018 gevalentino <gevalentino@gevalentino0.mtv.corp.google.com>

[fs-test-utils]: Parsing block_device and ramdisk override each other.

Fix error where setting block device via command line flags, due
to default settings. If ramdisk was not explicitly set and
block device is, then clear use_ramdisk.

TEST=fs-bench

Change-Id: I2e64934329b7bd7e082e9aa25e7b1d4f6918c162


# 80d9e7d0 06-Jul-2018 gevalentino <gevalentino@gevalentino0.mtv.corp.google.com>

[fs-bench] Rewrite fs-bench to use fs-test-utils.

Updated fs-bench to use fs-test-utils, and updated name and
constructs used to be Cpp where possible. Behaviour is
identical, except we sample each read/write op and we can
get estimates from them (average * samples = previous sampled value).

TEST=fs-bench-test

Change-Id: I70a6a1880633355cee65064fa8407831afc10d6e


# 996e870c 13-Jul-2018 gevalentino <gevalentino@gevalentino0.mtv.corp.google.com>

[fs-test-utils]: `sample_count` fixed per test case.

Test within the same test_case are enforced to have the same
sample_count.

TEST=fs-test-utils-test

Change-Id: I88879b22f463963a702d1656c5cd52d07d3402e5


# 13962d78 02-Jul-2018 gevalentino <gevalentino@gevalentino0.mtv.corp.google.com>

[fs-test-utils] Add perftest lib.

Provide utility classes to run a perftest test, allowing the underlying
benchmark to be controlled via customized options.

Test methods are given access to Fixture, which can be used to obtain
information about the block device path, etc and the lib
will call SetUp/TearDown(TestCase) accordingly also allowing
test to run in sequence without tearing down between each test,
in case Test depends on each other. (E.g. Test write, and then read
on the written stuff).

TEST=fs-test-utls-test

Change-Id: I5127d20e55f4a24d81b3a56a6c30b6e802a69948