akiradeveloper / dm-writeboost

Log-structured Caching for Linux
GNU General Public License v2.0
123 stars 19 forks source link

New test framework #114

Closed akiradeveloper closed 8 years ago

akiradeveloper commented 8 years ago

I am using Joe Thornber's device-mapper-test-suite to test writeboost. It works for a long time but now I realize it's too hard to maintain.

Dmitry reported cryptsetup on top of writeboost'd device corrupts but such a simple combination isn't easy to write in the framework.

The biggest problem is it's written in Ruby. Although the design isn't bad, it's hard to understand what variables and arguments mean.

I am thinking of redesign and reimplement a test framework for device-mapper.

akiradeveloper commented 8 years ago

I think we should share tests.

dm-writeboost is getting attention. We should not release buggy module anymore.

akiradeveloper commented 8 years ago

Hi Guys,

I am making this these days https://github.com/akiradeveloper/writeboost-test-suite

The framework is written in Scala, my favorite language that I am using in my work.

My recent goal is to make this framework and migrate writeboost tests from device-mapper-test-suite in a mouth, till the end of July. Keep watching!

akiradeveloper commented 8 years ago

Porting from device-mapper-test-suite to the new test-suite just completed (I have performance tests besides this). Now starting my work for 2.2.1

[info] PureTest:
[info] - table line (writeboost)
[info] - status line parse (writeboost)
[info] StackTest:
[info] - just stack
[info] - discard isn't supported
[info] LogicTest:
[info] - rambuf read fullsize
[info] - invalidate prev cache
[info] DataCompositionTest:
[info] - read: no writeboost
[info] - partial IO works
[info] - read: no caching
[info] - read: rambuf data + backing
[info] - read: cached data + backing
[info] - read: rambuf fully overwrite cached data + backing
[info] - read: rambuf partially overwrites cached data + backing
[info] - read: rambuf not overwrite cached data + backing
[info] - read: random write and occasionally dropping rambuf
[info] - write: cached data + write data (partial overwrite)
[info] - write: cached data + write data (entirely overwrite)
[info] - write: random write on rambuffer
[info] ReadCachingTest:
[info] - no read caching
[info] - read cache
[info] - read cache threshold
[info] - read cache verify data
[info] ScenarioTest:
[info] - compile ruby
[info] - stress
[info] - dbench
[info] FaultInjectionTest:
[info] - pattern verifier with flakey backing and caching !!! IGNORED !!!
[info] REPRO_111:
[info] - luks on top of writeboost !!! IGNORED !!!
[info] REPRO_115:
[info] - making another device while in use !!! IGNORED !!!
[info] - endless loop when try to use active caching device !!! IGNORED !!!
[info] Run completed in 18 minutes, 18 seconds.
[info] Total number of tests run: 25
[info] Suites: completed 10, aborted 0
[info] Tests: succeeded 25, failed 0, canceled 0, ignored 4, pending 0
[info] All tests passed.
[success] Total time: 1105 s, completed Jul 18, 2016 9:07:23 AM