Skip to content

Collection of methods for working with critical regions or testing of new methods

License

Notifications You must be signed in to change notification settings

SergySanJj/Critical_Region

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Critical Region

This repository is a collection of methods for working with critical regions or testing of new methods

Created by

Implemented parts

  • Lock interfaces
  • Fix number lock interfaces
  • Race condition demonstration
  • Dekker lock
  • Framework for mutual exclusion testing

Demonstration and testing

Demonstration is implemented in a form of unit tests which can be found here

Lock interfaces and abstractions

Following interfaces and abstractions are implemented:

  • FixNumLock (i);
  • FixNumLockN (a);
  • BinaryLock (a);

Lock concrete implementations

  • DekkerLock
  • FakeLock (for false case demonstration of mutual exclusion testing framework)

Mutual exclusion testing

To create a new unit test, you have to extend MutualExclusionTest<LockClass> class by implementing methods:

  • prephase
  • lockAction
  • unlockAction

such methods will be called during testing with providesMutualExclusion(LockClass testableLock) method

About

Collection of methods for working with critical regions or testing of new methods

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages