12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990 |
- personality01
- Check that we can set the personality for a process.
- personality02
- Check that we get EINVAL for a bad personality.
- exit01
- Check that exit returns the correct values to the waiting parent
- exit02
- Check that exit flushes output file buffers and closes files upon
- exiting
- wait02
- Basic test for wait(2) system call.
- wait401
- check that a call to wait4() correctly waits for a child
- process to exit
- wait402
- check for ECHILD errno when using an illegal pid value
- waitpid01
- Check that when a child kills itself by generating an alarm
- exception, the waiting parent is correctly notified.
- waitpid02
- Check that when a child kills itself by generating an integer zero
- divide exception, the waiting parent is correctly notified.
- waitpid03
- Check that parent waits until specific child has returned.
- waitpid04
- test to check the error conditions in waitpid sys call
- waitpid05
- Check that when a child kills itself with a kill statement after
- determining its process id by using getpid, the parent receives a
- correct report of the cause of its death. This also indirectly
- checks that getpid returns the correct process id.
- waitpid06
- Tests to see if pid's returned from fork and waitpid are same.
- waitpid07
- Tests to see if pid's returned from fork and waitpid are same.
- waitpid08
- Tests to see if pid's returned from fork and waitpid are same
- waitpid09
- Check ability of parent to wait until child returns, and that the
- child's process id is returned through the waitpid. Check that
- waitpid returns immediately if no child is present.
- waitpid10
- Tests to see if pid's returned from fork and waitpid are same
- waitpid11
- Tests to see if pid's returned from fork and waitpid are same
- waitpid12
- Tests to see if pid's returned from fork and waitpid are same
- waitpid13
- Tests to see if pid's returned from fork and waitpid are same
- fcntl01
- Test F_DUPFD, F_SETFL cmds of fcntl
- fcntl02
- Basic test for fcntl(2) using F_DUPFD argument.
- fcntl03
- Basic test for fcntl(2) using F_GETFD argument.
- fcntl04
- Basic test for fcntl(2) using F_GETFL argument.
- fcntl05
- Basic test for fcntl(2) using F_GETLK argument.
- fcntl06
- Error checking conditions for remote locking of regions of a file.
- fcntl07
- Close-On-Exec functional test.
- fcntl07B
- Close-On-Exec of named pipe functional test.
- fcntl08
- Basic test for fcntl(2) using F_SETFL argument.
- fcntl09
- Basic test for fcntl(2) using F_SETLK argument.
- fcntl10
- Basic test for fcntl(2) using F_SETLKW argument.
- fcntl11
- Testcase to check locking of regions of a file
- fcntl12
- Testcase to test that fcntl() sets EMFILE for F_DUPFD command.
- fcntl13
- Testcase to test that fcntl() sets errno correctly.
- fcntl14
- File locking test cases for fcntl. In Linux, S_ENFMT is not implemented
- in the kernel. However all standard Unix kernels define S_ENFMT as
- S_ISGID. So this test defines S_ENFMT as S_ISGID.
- fcntl15
- Check that file locks are removed when file closed
- fcntl16
- Additional file locking test cases for checking proper notification
- of processes on lock change
- fcntl17
- Check deadlock detection for file locking
- fcntl18
- Test to check the error conditions in fcntl system call
- fcntl19
- Testcase to check locking of regions of a file
- fcntl20
- Check locking of regions of a file
- fcntl21
- Check locking of regions of a file
- dup01
- Basic test for dup(2).
- dup02
- Negative test for dup(2) with bad fd.
- dup03
- Negative test for dup(2) (too many fds).
- dup04
- Basic test for dup(2) of a system pipe descriptor.
- dup05
- Basic test for dup(2) of a named pipe descriptor.
- dup201
- Negative tests for dup2() with bad fd (EBADF), and for "too many
- open files" (EMFILE)
- dup202
- Is the access mode the same for both file descriptors?
- 0: read only ? "0444"
- 1: write only ? "0222"
- 2: read/write ? "0666"
- dup203
- Testcase to check the basic functionality of dup2().
- dup204
- Testcase to check the basic functionality of dup2(2).
- msync01
- Verify that, msync() succeeds, when the region to synchronize, is part
- of, or all of a mapped region.
- msync02
- Verify that msync() succeeds when the region to synchronize is mapped
- shared and the flags argument is MS_INVALIDATE.
- msync03
- Verify that, msync() fails, when the region to synchronize, is outside
- the address space of the process.
- msync04
- Verify that, msync() fails, when the region to synchronize, is mapped
- but the flags argument is invalid.
- msync05
- Verify that, msync() fails, when the region to synchronize, was not
- mapped.
- sendfile02
- Testcase to test the basic functionality of the sendfile(2) system call.
- sendfile03
- Testcase to test that sendfile(2) system call returns appropriate
- errnos on error.
- fork01
- Basic test for fork(2).
- fork02
- Test correct operation of fork:
- pid == 0 in child;
- pid > 0 in parent from wait;
- fork03
- Check that child can use a large text space and do a large
- number of operations.
- fork04
- Child inheritance of Environment Variables after fork().
- fork05
- Make sure LDT is propagated correctly
- fork06
- Test that a process can fork children a large number of
- times in succession
- fork07
- Check that all children inherit parent's file descriptor
- fork08
- Check if the parent's file descriptors are affected by
- actions in the child; they should not be.
- fork09
- Check that child has access to a full set of files.
- fork10
- Check inheritance of file descriptor by children, they
- should all be referring to the same file.
- fork11
- Test that parent gets a pid from each child when doing wait
- vfork01
- Fork a process using vfork() and verify that, the attribute values like
- euid, ruid, suid, egid, rgid, sgid, umask, inode and device number of
- root and current working directories are same as that of the parent
- process.
- vfork02
- Fork a process using vfork() and verify that, the pending signals in
- the parent are not pending in the child process.
- ioctl01
- Testcase to check the errnos set by the ioctl(2) system call.
- ioctl02
- Testcase to test the TCGETA, and TCSETA ioctl implementations for
- the tty driver
- sockioctl01
- Verify that ioctl() on sockets returns the proper errno for various
- failure cases
- getitimer01
- check that a correct call to getitimer() succeeds
- getitimer02
- check that a getitimer() call fails as expected
- with an incorrect second argument.
- getitimer03
- check that a getitimer() call fails as expected
- with an incorrect first argument.
- setitimer01
- check that a reasonable setitimer() call succeeds.
- setitimer02
- check that a setitimer() call fails as expected
- with incorrect values.
- setitimer03
- check that a setitimer() call fails as expected
- with incorrect values.
- float_trigo
- increase CPUs workload - verify that results of some math functions are stable
- trigonometric (acos, asin, atan, atan2, cos, sin, tan),
- hyperbolic (cosh, sinh, tanh),
- float_exp_log
- increase CPUs workload - verify that results of some math functions are stable
- exponential and logarithmic functions (exp, log, log10),
- Functions that manipulate floating-point numbers (modf, ldexp, frexp),
- Euclidean distance function (hypot),
- float_bessel
- increase CPUs workload - verify that results of some math functions are stable
- Bessel (j0, j1, y0, y1),
- Computes the natural logarithm of the gamma function (lgamma),
- fload_power
- increase CPUs workload - verify that results of some math functions are stable
- Computes sqrt, power, fmod
- float_iperb
- increase CPUs workload - verify that results of some math functions are stable
- pth_str01
- Creates a tree of threads
- pth_str02
- Creates n threads
- pth_str03
- Creates a tree of threads does calculations, and
- returns result to parent
- asyncio02
- Write/close flushes data to the file.
- fpathconf
- Basic test for fpathconf(2)
- gethostid01
- Basic test for gethostid(2)
- pathconf01
- Basic test for pathconf(2)
- setpgrp01
- Basic test for the setpgrp(2) system call.
- setpgrp02
- Testcase to check the basic functionality of the setpgrp(2) syscall.
- ulimit01
- Basic test for the ulimit(2) system call.
- mmstress
- Performs General Stress with Race conditions
- mmap1
- Test the LINUX memory manager. The program is aimed at
- stressing the memory manager by simultaneous map/unmap/read
- by light weight processes, the test is scheduled to run for
- a minimum of 24 hours.
- mmap2
- Test the LINUX memory manager. The program is aimed at
- stressing the memory manager by repeated map/write/unmap of a
- of a large gb size file.
- mmap3
- Test the LINUX memory manager. The program is aimed at
- stressing the memory manager by repeated map/write/unmap
- of file/memory of random size (maximum 1GB) this is done by
- multiple processes.
- mmap001
- Tests mmapping a big file and writing it once
- mmap01
- Verify that, mmap() succeeds when used to map a file where size of the
- file is not a multiple of the page size, the memory area beyond the end
- of the file to the end of the page is accessible. Also, verify that
- this area is all zeroed and the modifications done to this area are
- not written to the file.
- mmap02
- Call mmap() with prot parameter set to PROT_READ and with the file
- descriptor being open for read, to map a file creating mapped memory
- with read access. The minimum file permissions should be 0444.
- mmap03
- Call mmap() to map a file creating a mapped region with execute access
- under the following conditions -
- - The prot parameter is set to PROT_EXE
- - The file descriptor is open for read
- - The file being mapped has execute permission bit set.
- - The minimum file permissions should be 0555.
- The call should succeed to map the file creating mapped memory with the
- required attributes.
- mmap04
- Call mmap() to map a file creating a mapped region with read/exec access
- under the following conditions -
- - The prot parameter is set to PROT_READ|PROT_EXEC
- - The file descriptor is open for read
- - The file being mapped has read and execute permission bit set.
- - The minimum file permissions should be 0555.
- The call should succeed to map the file creating mapped memory with the
- required attributes.
- mmap05
- Call mmap() to map a file creating mapped memory with no access under
- the following conditions -
- - The prot parameter is set to PROT_NONE
- - The file descriptor is open for read(any mode other than write)
- - The minimum file permissions should be 0444.
- The call should succeed to map the file creating mapped memory with the
- required attributes.
- mmap06
- Call mmap() to map a file creating a mapped region with read access
- under the following conditions -
- - The prot parameter is set to PROT_READ
- - The file descriptor is open for writing.
- The call should fail to map the file.
- mmap07
- Call mmap() to map a file creating a mapped region with read access
- under the following conditions -
- - The prot parameter is set to PROT_WRITE
- - The file descriptor is open for writing.
- - The flags parameter has MAP_PRIVATE set.
- The call should fail to map the file.
- mmap08
- Verify that mmap() fails to map a file creating a mapped region
- when the file specified by file descriptor is not valid.
- mremap01
- Verify that, mremap() succeeds when used to expand the existing
- virtual memory mapped region to the requested size where the
- virtual memory area was previously mapped to a file using mmap().
- mremap02
- Verify that,
- mremap() fails when used to expand the existing virtual memory mapped
- region to the requested size, if the virtual memory area previously
- mapped was not page aligned or invalid argument specified.
- mremap03
- Verify that,
- mremap() fails when used to expand the existing virtual memory mapped
- region to the requested size, if there already exists mappings that
- cover the whole address space requested or the old address specified was
- not mapped.
- mremap04
- Verify that,
- mremap() fails when used to expand the existing virtual memory mapped
- region to the requested size, if the memory area cannot be expanded at
- the current virtual address and MREMAP_MAYMOVE flag not set.
- munmap01
- Verify that, munmap call will succeed to unmap a mapped file or
- anonymous shared memory region from the calling process's address space
- and after successful completion of munmap, the unmapped region is no
- longer accessible.
- munmap02
- Verify that, munmap call will succeed to unmap a mapped file or
- anonymous shared memory region from the calling process's address space
- if the region specified by the address and the length is part or all of
- the mapped region.
- munmap03
- Verify that, munmap call will fail to unmap a mapped file or anonymous
- shared memory region from the calling process's address space if the
- address and the length of the region to be unmapped points outside the
- calling process's address space
- brk01
- Test the basic functionality of brk.
- sbrk01
- Basic test for the sbrk(2) system call.
- mprotect01
- Testcase to check the error conditions for mprotect(2)
- mprotect02
- Testcase to check the mprotect(2) system call.
- mprotect03
- Testcase to check the mprotect(2) system call.
- msgctl01
- create a message queue, then issue the IPC_STAT command
- and RMID commands to test the functionality
- msgctl02
- create a message queue, then issue the IPC_SET command
- to lower the msg_qbytes value.
- msgctl03
- create a message queue, then issue the IPC_RMID command
- msgctl04
- test for EACCES, EFAULT and EINVAL errors using
- a variety of incorrect calls.
- msgctl05
- test for EPERM error
- msgget01
- create a message queue, write a message to it and
- read it back.
- msgget02
- test for EEXIST and ENOENT errors
- msgget03
- test for an ENOSPC error by using up all available
- message queues.
- msgget04
- test for an EACCES error by creating a message queue
- with no read or write permission and then attempting
- to access it with various permissions.
- msgrcv01
- test that msgrcv() receives the expected message
- msgrcv02
- test for EACCES and EFAULT errors
- msgrcv03
- test for EINVAL error
- msgrcv04
- test for E2BIG and ENOMSG errors
- msgrcv05
- test for EINTR error
- msgrcv06
- test for EIDRM error
- msgsnd01
- test that msgsnd() enqueues a message correctly
- msgsnd02
- test for EACCES and EFAULT errors
- msgsnd03
- test for EINVAL error
- msgsnd04
- test for EAGAIN error
- msgsnd05
- test for EINTR error
- msgsnd06
- test for EIDRM error
- link02
- Basic test for link(2)
- link03
- Multi links tests
- link04
- Negative test cases for link(2)
- link05
- Multi links (EMLINK) negative test
- readlink01
- Verify that, readlink will succeed to read the contents of the symbolic
- link created the process.
- readlink02
- Basic test for the readlink(2) system call
- readlink03
- Verify that,
- 1) readlink(2) returns -1 and sets errno to EACCES if search/write
- permission is denied in the directory where the symbolic link
- resides.
- 2) readlink(2) returns -1 and sets errno to EINVAL if the buffer size
- is not positive.
- 3) readlink(2) returns -1 and sets errno to EINVAL if the specified
- file is not a symbolic link file.
- 4) readlink(2) returns -1 and sets errno to ENAMETOOLONG if the
- pathname component of symbolic link is too long (ie, > PATH_MAX).
- 5) readlink(2) returns -1 and sets errno to ENOENT if the component of
- symbolic link points to an empty string.
- readlink04
- Verify that, readlink call will succeed to read the contents of the
- symbolic link if invoked by non-root user who is not the owner of the
- symbolic link.
- symlink01
- Test of various file function calls, such as rename or open, on a symbolic
- link file.
- symlink02
- Basic test for the symlink(2) system call.
- symlink03
- Verify that,
- 1) symlink(2) returns -1 and sets errno to EACCES if search/write
- permission is denied in the directory where the symbolic link is
- being created.
- 2) symlink(2) returns -1 and sets errno to EEXIST if the specified
- symbolic link already exists.
- 3) symlink(2) returns -1 and sets errno to EFAULT if the specified
- file or symbolic link points to invalid address.
- 4) symlink(2) returns -1 and sets errno to ENAMETOOLONG if the
- pathname component of symbolic link is too long (ie, > PATH_MAX).
- 5) symlink(2) returns -1 and sets errno to ENOTDIR if the directory
- component in pathname of symbolic link is not a directory.
- 6) symlink(2) returns -1 and sets errno to ENOENT if the component of
- symbolic link points to an empty string.
- symlink04
- Verify that, symlink will succeed to create a symbolic link of an existing
- object name path.
- symlink05
- Verify that, symlink will succeed to create a symbolic link of an
- non-existing object name path.
- unlink05
- Basic test for the unlink(2) system call.
- unlink06
- Test for the unlink(2) system call of a FIFO.
- unlink07
- Tests for error handling for the unlink(2) system call.
- unlink08
- More tests for error handling for the unlink(2) system call.
- linktest
- Regression test for max links per file
- rename01
- This test will verify the rename(2) syscall basic functionality.
- Verify rename() works when the "new" file or directory does not exist.
- rename02
- Basic test for the rename(2) system call
- rename03
- This test will verify that rename(2) functions correctly
- when the "new" file or directory exists
- rename04
- This test will verify that rename(2) failed when newpath is
- a non-empty directory and return EEXIST or ENOTEMPTY
- rename05
- This test will verify that rename(2) fails with EISDIR
- rename06
- This test will verify that rename(2) failed in EINVAL
- rename07
- This test will verify that rename(2) failed in ENOTDIR
- rename08
- This test will verify that rename(2) syscall failed in EFAULT
- rename09
- check rename() fails with EACCES
- rename10
- This test will verify that rename(2) syscall fails with ENAMETOOLONG
- and ENOENT
- rename11
- This test will verify that rename(2) failed in EBUSY
- rename12
- check rename() fails with EPERM
- rename13
- Verify rename() return successfully and performs no other action
- when "old" file and "new" file link to the same file.
- rmdir01
- This test will verify that rmdir(2) syscall basic functionality.
- verify rmdir(2) returns a value of 0 and the directory being
- removed
- rmdir02
- This test will verify that rmdir(2) fail in
- 1. ENOTEMPTY
- 2. EBUSY
- 3. ENAMETOOLONG
- 4. ENOENT
- 5. ENOTDIR
- 6. EFAULT
- 7. EFAULT
- rmdir03
- check rmdir() fails with EPERM or EACCES
- rmdir04
- Basic test for the rmdir(2) system call
- rmdir05
- Verify that rmdir(2) returns a value of -1 and sets errno to indicate the error.
- mkdir01
- Basic errno test for mkdir(2)
- mkdir02
- This test will verify that new directory created
- by mkdir(2) inherits the group ID from the parent
- directory and S_ISGID bit, if the S_ISGID bit is set
- in the parent directory.
- mkdir03
- Check mkdir() with various error conditions that should produce
- EFAULT, ENAMETOOLONG, EEXIST, ENOENT and ENOTDIR
- mkdir04
- Attempt to create a directory in a directory having no permissions.
- mkdir05
- This test will verify the mkdir(2) syscall basic functionality
- mkdir08
- Basic test for mkdir(2)
- mknod01
- Basic test for mknod(2)
- mknod02
- Verify that mknod(2) succeeds when used to create a filesystem
- node with set group-ID bit set on a directory without set group-ID bit set.
- The node created should have set group-ID bit set and its gid should be
- equal to that of its parent directory.
- mknod03
- Verify that mknod(2) succeeds when used to create a filesystem
- node with set group-ID bit set on a directory with set group-ID bit set.
- The node created should have set group-ID bit set and its gid should be
- equal to the effective gid of the process.
- mknod04
- Verify that mknod(2) succeeds when used to create a filesystem
- node on a directory with set group-ID bit set.
- The node created should not have group-ID bit set and its gid should be
- equal to the effective gid of the process.
- mknod05
- Verify that mknod(2) succeeds when used by root to create a filesystem
- node with set group-ID bit set on a directory with set group-ID bit set.
- The node created should have set group-ID bit set and its gid should be
- equal to that of its parent directory.
- mknod06
- Verify that,
- 1) mknod(2) returns -1 and sets errno to EEXIST if specified path
- already exists.
- 2) mknod(2) returns -1 and sets errno to EFAULT if pathname points
- outside user's accessible address space.
- 3) mknod(2) returns -1 and sets errno to ENOENT if the directory
- component in pathname does not exist.
- 4) mknod(2) returns -1 and sets errno to ENAMETOOLONG if the pathname
- component was too long.
- 5) mknod(2) returns -1 and sets errno to ENOTDIR if the directory
- component in pathname is not a directory.
- mknod07
- Verify that,
- 1) mknod(2) returns -1 and sets errno to EPERM if the process id of
- the caller is not super-user.
- 2) mknod(2) returns -1 and sets errno to EACCES if parent directory
- does not allow write permission to the process.
- mknod08
- Verify that mknod(2) succeeds when used to create a filesystem
- node on a directory without set group-ID bit set. The node created
- should not have set group-ID bit set and its gid should be equal to that
- of its parent directory.
- access01
- Basic test for access(2) using F_OK, R_OK, W_OK, and X_OK arguments.
- access02
- Verify that access() succeeds to check the read/write/execute permissions
- on a file if the mode argument passed was R_OK/W_OK/X_OK.
- Also verify that, access() succeeds to test the accessibility of the file
- referred to by symbolic link if the pathname points to a symbolic link.
- access03
- EFAULT error testing for access(2).
- access04
- Verify that,
- 1. access() fails with -1 return value and sets errno to EACCES
- if the permission bits of the file mode do not permit the
- requested (Read/Write/Execute) access.
- 2. access() fails with -1 return value and sets errno to EINVAL
- if the specified access mode argument is invalid.
- 3. access() fails with -1 return value and sets errno to EFAULT
- if the pathname points outside allocate address space for the
- process.
- 4. access() fails with -1 return value and sets errno to ENOENT
- if the specified file doesn't exist (or pathname is NULL).
- 5. access() fails with -1 return value and sets errno to ENAMETOOLONG
- if the pathname size is > PATH_MAX characters.
- access05
- Verify that access() succeeds to check the existence of a file if
- search access is permitted on the pathname of the specified file.
- access06
- EFAULT error testing for access(2).
- chroot01
- Testcase to check the whether chroot sets errno to EPERM.
- chroot02
- Test functionality of chroot(2)
- chroot03
- Testcase to test whether chroot(2) sets errno correctly.
- pipeio
- This tool can be used to beat on system or named pipes.
- See the help() function below for user information.
- pipe01
- Testcase to check the basic functionality of the pipe(2) syscall:
- Check that both ends of the pipe (both file descriptors) are
- available to a process opening the pipe.
- pipe05
- Check what happens when pipe is passed a bad file descriptor.
- pipe06
- Check what happens when the system runs out of pipes.
- pipe08
- Check that a SIGPIPE signal is generated when a write is
- attempted on an empty pipe.
- pipe09
- Check that two processes can use the same pipe at the same time.
- pipe10
- Check that parent can open a pipe and have a child read from it
- pipe11
- Check if many children can read what is written to a pipe by the
- parent.
- sem01
- Creates a semaphore and two processes. The processes
- each go through a loop where they semdown, delay for a
- random amount of time, and semup, so they will almost
- always be fighting for control of the semaphore.
- sem02
- The application creates several threads using pthread_create().
- One thread performs a semop() with the SEM_UNDO flag set. The
- change in semaphore value performed by that semop should be
- "undone" only when the last pthread exits.
- semctl01
- test the 10 possible semctl() commands
- semctl02
- test for EACCES error
- semctl03
- test for EINVAL and EFAULT errors
- semctl04
- test for EPERM error
- semctl05
- test for ERANGE error
- semget01
- test that semget() correctly creates a semaphore set
- semget02
- test for EACCES and EEXIST errors
- semget03
- test for ENOENT error
- semget05
- test for ENOSPC error
- semget06
- test for EINVAL error
- semop01
- test that semop() basic functionality is correct
- semop02
- test for E2BIG, EACCES, EFAULT and EINVAL errors
- semop03
- test for EFBIG error
- semop04
- test for EAGAIN error
- semop05
- test for EINTR and EIDRM errors
- msgctl01
- create a message queue, then issue the IPC_STAT command
- and RMID commands to test the functionality
- msgctl02
- create a message queue, then issue the IPC_SET command
- to lower the msg_qbytes value.
- msgctl03
- create a message queue, then issue the IPC_RMID command
- msgctl04
- test for EACCES, EFAULT and EINVAL errors using
- a variety of incorrect calls.
- msgctl05
- test for EPERM error
- msgget01
- create a message queue, write a message to it and
- read it back.
- msgget02
- test for EEXIST and ENOENT errors
- msgget03
- test for an ENOSPC error by using up all available
- message queues.
- msgget04
- test for an EACCES error by creating a message queue
- with no read or write permission and then attempting
- to access it with various permissions.
- msgrcv01
- test that msgrcv() receives the expected message
- msgrcv02
- test for EACCES and EFAULT errors
- msgrcv03
- test for EINVAL error
- msgrcv04
- test for E2BIG and ENOMSG errors
- msgrcv05
- test for EINTR error
- msgrcv06
- test for EIDRM error
- msgsnd01
- test that msgsnd() enqueues a message correctly
- msgsnd02
- test for EACCES and EFAULT errors
- msgsnd03
- test for EINVAL error
- msgsnd04
- test for EAGAIN error
- msgsnd05
- test for EINTR error
- msgsnd06
- test for EIDRM error
- shmat01
- test that shmat() works correctly
- shmat02
- check for EINVAL and EACCES errors
- shmat03
- test for EACCES error
- shmctl01
- test the IPC_STAT, IPC_SET and IPC_RMID commands as
- they are used with shmctl()
- shmctl02
- check for EACCES, EFAULT and EINVAL errors
- shmctl03
- check for EACCES, and EPERM errors
- shmdt01
- check that shared memory is detached correctly
- shmdt02
- check for EINVAL error
- shmget01
- test that shmget() correctly creates a shared memory segment
- shmget02
- check for ENOENT, EEXIST and EINVAL errors
- shmget03
- test for ENOSPC error
- shmget04
- test for EACCES error
- shmget05
- test for EACCES error
- openfile
- Creates files and opens simultaneously
- open01
- Open a file with oflag = O_CREAT set, does it set the sticky bit off?
- Open "/tmp" with O_DIRECTORY, does it set the S_IFDIR bit on?
- open02
- Test if open without O_CREAT returns -1 if a file does not exist.
- open03
- Basic test for open(2)
- open04
- Testcase to check that open(2) sets EMFILE if a process opens files
- more than its descriptor size
- open05
- Testcase to check open(2) sets errno to EACCES correctly.
- open06
- Testcase to check open(2) sets errno to ENXIO correctly.
- open07
- Test the open(2) system call to ensure that it sets ELOOP correctly.
- open08
- Check for the following errors:
- 1. EEXIST
- 2. EISDIR
- 3. ENOTDIR
- 4. ENAMETOOLONG
- 5. EFAULT
- 6. ETXTBSY
- openfile
- Creates files and opens simultaneously
- chdir01
- Check proper operation of chdir(): tests whether the
- system call can it change the current, working directory, and find a
- file there? Will it fail on a non-directory entry ?
- chdir02
- Basic test for chdir(2).
- chdir03
- Testcase for testing that chdir(2) sets EACCES errno
- chdir04
- Testcase to test whether chdir(2) sets errno correctly.
- chmod01
- Verify that, chmod(2) succeeds when used to change the mode permissions
- of a file.
- chmod02
- Basic test for chmod(2).
- chmod03
- Verify that, chmod(2) will succeed to change the mode of a file
- and set the sticky bit on it if invoked by non-root (uid != 0)
- process with the following constraints,
- - the process is the owner of the file.
- - the effective group ID or one of the supplementary group ID's of the
- process is equal to the group ID of the file.
- chmod04
- Verify that, chmod(2) will succeed to change the mode of a directory
- and set the sticky bit on it if invoked by non-root (uid != 0) process
- with the following constraints,
- - the process is the owner of the directory.
- - the effective group ID or one of the supplementary group ID's of the
- process is equal to the group ID of the directory.
- chmod05
- Verify that, chmod(2) will succeed to change the mode of a directory
- but fails to set the setgid bit on it if invoked by non-root (uid != 0)
- process with the following constraints,
- - the process is the owner of the directory.
- - the effective group ID or one of the supplementary group ID's of the
- process is not equal to the group ID of the directory.
- chmod06
- Verify that,
- 1) chmod(2) returns -1 and sets errno to EPERM if the effective user id
- of process does not match the owner of the file and the process is
- not super user.
- 2) chmod(2) returns -1 and sets errno to EACCES if search permission is
- denied on a component of the path prefix.
- 3) chmod(2) returns -1 and sets errno to EFAULT if pathname points
- outside user's accessible address space.
- 4) chmod(2) returns -1 and sets errno to ENAMETOOLONG if the pathname
- component is too long.
- 5) chmod(2) returns -1 and sets errno to ENOTDIR if the directory
- component in pathname is not a directory.
- 6) chmod(2) returns -1 and sets errno to ENOENT if the specified file
- does not exists.
- chmod07
- Verify that, chmod(2) will succeed to change the mode of a file/directory
- and sets the sticky bit on it if invoked by root (uid = 0) process with
- the following constraints,
- - the process is not the owner of the file/directory.
- - the effective group ID or one of the supplementary group ID's of the
- process is equal to the group ID of the file/directory.
- chown01
- Basic test for chown(2).
- chown02
- Verify that, when chown(2) invoked by super-user to change the owner and
- group of a file specified by path to any numeric owner(uid)/group(gid)
- values,
- - clears setuid and setgid bits set on an executable file.
- - preserves setgid bit set on a non-group-executable file.
- chown03
- Verify that, chown(2) succeeds to change the group of a file specified
- by path when called by non-root user with the following constraints,
- - euid of the process is equal to the owner of the file.
- - the intended gid is either egid, or one of the supplementary gids
- of the process.
- Also, verify that chown() clears the setuid/setgid bits set on the file.
- chown04
- Verify that,
- 1) chown(2) returns -1 and sets errno to EPERM if the effective user id
- of process does not match the owner of the file and the process is
- not super user.
- 2) chown(2) returns -1 and sets errno to EACCES if search permission is
- denied on a component of the path prefix.
- 3) chown(2) returns -1 and sets errno to EFAULT if pathname points
- outside user's accessible address space.
- 4) chown(2) returns -1 and sets errno to ENAMETOOLONG if the pathname
- component is too long.
- 5) chown(2) returns -1 and sets errno to ENOTDIR if the directory
- component in pathname is not a directory.
- 6) chown(2) returns -1 and sets errno to ENOENT if the specified file
- does not exists.
- chown05
- Verify that, chown(2) succeeds to change the owner and group of a file
- specified by path to any numeric owner(uid)/group(gid) values when invoked
- by super-user.
- close01
- Test that closing a regular file and a pipe works correctly
- close02
- Check that an invalid file descriptor returns EBADF
- close08
- Basic test for close(2).
- fchdir01
- create a directory and cd into it.
- fchdir02
- try to cd into a bad directory (bad fd).
- fchmod01
- Basic test for Fchmod(2).
- fchmod02
- Verify that, fchmod(2) will succeed to change the mode of a file/directory
- set the sticky bit on it if invoked by root (uid = 0) process with
- the following constraints,
- - the process is not the owner of the file/directory.
- - the effective group ID or one of the supplementary group ID's of the
- process is equal to the group ID of the file/directory.
- fchmod03
- Verify that, fchmod(2) will succeed to change the mode of a file
- and set the sticky bit on it if invoked by non-root (uid != 0)
- process with the following constraints,
- - the process is the owner of the file.
- - the effective group ID or one of the supplementary group ID's of the
- process is equal to the group ID of the file.
- fchmod04
- Verify that, fchmod(2) will succeed to change the mode of a directory
- and set the sticky bit on it if invoked by non-root (uid != 0) process
- with the following constraints,
- - the process is the owner of the directory.
- - the effective group ID or one of the supplementary group ID's of the
- process is equal to the group ID of the directory.
- fchmod05
- Verify that, fchmod(2) will succeed to change the mode of a directory
- but fails to set the setgid bit on it if invoked by non-root (uid != 0)
- process with the following constraints,
- - the process is the owner of the directory.
- - the effective group ID or one of the supplementary group ID's of the
- process is not equal to the group ID of the directory.
- fchmod06
- Verify that,
- 1) fchmod(2) returns -1 and sets errno to EPERM if the effective user id
- of process does not match the owner of the file and the process is
- not super user.
- 2) fchmod(2) returns -1 and sets errno to EBADF if the file descriptor
- of the specified file is not valid.
- fchmod07
- Verify that, fchmod(2) succeeds when used to change the mode permissions
- of a file specified by file descriptor.
- fchown01
- Basic test for fchown(2).
- fchown02
- Verify that, when fchown(2) invoked by super-user to change the owner and
- group of a file specified by file descriptor to any numeric
- owner(uid)/group(gid) values,
- - clears setuid and setgid bits set on an executable file.
- - preserves setgid bit set on a non-group-executable file.
- fchown03
- Verify that, fchown(2) succeeds to change the group of a file specified
- by path when called by non-root user with the following constraints,
- - euid of the process is equal to the owner of the file.
- - the intended gid is either egid, or one of the supplementary gids
- of the process.
- Also, verify that fchown() clears the setuid/setgid bits set on the file.
- fchown04
- Verify that,
- 1) fchown(2) returns -1 and sets errno to EPERM if the effective user id
- of process does not match the owner of the file and the process is
- not super user.
- 2) fchown(2) returns -1 and sets errno to EBADF if the file descriptor
- of the specified file is not valid.
- fchown05
- Verify that, fchown(2) succeeds to change the owner and group of a file
- specified by file descriptor to any numeric owner(uid)/group(gid) values
- when invoked by super-user.
- lchown01
- Verify that, lchown(2) succeeds to change the owner and group of a file
- specified by path to any numeric owner(uid)/group(gid) values when invoked
- by super-user.
- lchown02
- Verify that,
- 1) lchown(2) returns -1 and sets errno to EPERM if the effective user id
- of process does not match the owner of the file and the process is
- not super user.
- 2) lchown(2) returns -1 and sets errno to EACCES if search permission is
- denied on a component of the path prefix.
- 3) lchown(2) returns -1 and sets errno to EFAULT if pathname points
- outside user's accessible address space.
- 4) lchown(2) returns -1 and sets errno to ENAMETOOLONG if the pathname
- component is too long.
- 5) lchown(2) returns -1 and sets errno to ENOTDIR if the directory
- component in pathname is not a directory.
- 6) lchown(2) returns -1 and sets errno to ENOENT if the specified file
- does not exists.
- creat01
- Testcase to check the basic functionality of the creat(2) system call.
- creat03
- Testcase to check whether the sticky bit cleared.
- creat04
- Testcase to check creat(2) fails with EACCES
- creat05
- Testcase to check that creat(2) system call returns EMFILE.
- creat06
- Testcase to check creat(2) sets the following errnos correctly:
- 1. EISDIR
- 2. ENAMETOOLONG
- 3. ENOENT
- 4. ENOTDIR
- 5. EFAULT
- 6. EACCES
- creat07
- Testcase to check creat(2) sets the following errnos correctly:
- 1. ETXTBSY
- creat09
- Basic test for creat(2) using 0700 argument.
- truncate01
- Verify that, truncate(2) succeeds to truncate a file to a specified
- length.
- truncate02
- Verify that, truncate(2) succeeds to truncate a file to a certain length,
- but the attempt to read past the truncated length will fail.
- truncate03
- Verify that,
- 1) truncate(2) returns -1 and sets errno to EACCES if search/write
- permission denied for the process on the component of the path prefix
- or named file.
- 2) truncate(2) returns -1 and sets errno to ENOTDIR if the component of
- the path prefix is not a directory.
- 3) truncate(2) returns -1 and sets errno to EFAULT if pathname points
- outside user's accessible address space.
- 4) truncate(2) returns -1 and sets errno to ENAMETOOLONG if the component
- of a pathname exceeded 255 characters or entire pathname exceeds 1023
- characters.
- 5) truncate(2) returns -1 and sets errno to ENOENT if the named file
- does not exist.
- ftruncate01
- Verify that, ftruncate(2) succeeds to truncate a file to a specified
- length if the file indicated by file descriptor opened for writing.
- ftruncate02
- Verify that, ftruncate(2) succeeds to truncate a file to a certain length,
- but the attempt to read past the truncated length will fail.
- ftruncate03
- Verify that,
- 1) ftruncate(2) returns -1 and sets errno to EINVAL if the specified
- truncate length is less than 0.
- 2) ftruncate(2) returns -1 and sets errno to EBADF if the file descriptor
- of the specified file is not valid.
- vhangup01
- Check the return value, and errno of vhangup(2)
- when a non-root user calls vhangup().
- vhangup02
- To test the basic functionality of vhangup(2)
- growfiles
- This program will grow a list of files.
- Each file will grow by grow_incr before the same
- file grows twice. Each file is open and closed before next file is opened.
- pipe01
- Testcase to check the basic functionality of the pipe(2) syscall:
- Check that both ends of the pipe (both file descriptors) are
- available to a process opening the pipe.
- pipe05
- Check what happens when pipe is passed a bad file descriptor.
- pipe06
- Check what happens when the system runs out of pipes.
- pipe08
- Check that a SIGPIPE signal is generated when a write is
- attempted on an empty pipe.
- pipe09
- Check that two processes can use the same pipe at the same time.
- pipe10
- Check that parent can open a pipe and have a child read from it
- pipe11
- Check if many children can read what is written to a pipe by the
- parent.
- pipeio
- This tool can be used to beat on system or named pipes.
- See the help() function below for user information.
- /ipc_stress/message_queue_test_01.c
- /ipc_stress/pipe_test_01.c
- /ipc_stress/semaphore_test_01.c
- /ipc_stress/single_test_01.c
- proc01
- Recursively reads all files within /proc filesystem.
- lftest
- The purpose of this test is to verify the file size limitations of a filesystem.
- It writes one buffer at a time and lseeks from the beginning of the file to the
- end of the last write position. The intent is to test lseek64.
- llseek01
- Verify that, llseek() call succeeds to set the file pointer position
- to an offset larger than file size. Also, verify that any attempt
- to write to this location fails.
- llseek02
- Verify that,
- 1. llseek() returns -1 and sets errno to EINVAL, if the 'Whence' argument
- is not a proper value.
- 2. llseek() returns -1 and sets errno to EBADF, if the file handle of
- the specified file is not valid.
- lseek01
- Basic test for lseek(2)
- lseek02
- Negative test for lseek(2)
- lseek03
- Negative test for lseek(2) whence
- lseek04
- Negative test for lseek(2) of a fifo
- lseek05
- Negative test for lseek(2) of a pipe
- lseek06
- Verify that, lseek() call succeeds to set the file pointer position
- to less than or equal to the file size, when a file is opened for
- read or write.
- lseek07
- Verify that, lseek() call succeeds to set the file pointer position
- to more than the file size, when a file is opened for reading/writing.
- lseek08
- Verify that, lseek() call succeeds to set the file pointer position
- to the end of the file when 'whence' value set to SEEK_END and any
- attempts to read from that position should fail.
- lseek09
- Verify that, lseek() call succeeds to set the file pointer position
- to the current specified location, when 'whence' value is set to
- SEEK_CUR and the data read from the specified location should match
- the expected data.
- lseek10
- Verify that,
- 1. lseek() returns -1 and sets errno to ESPIPE, if the file handle of
- the specified file is associated with a pipe, socket, or FIFO.
- 2. lseek() returns -1 and sets errno to EINVAL, if the 'Whence' argument
- is not a proper value.
- 3. lseek() returns -1 and sets errno to EBADF, if the file handle of
- the specified file is not valid.
- rwtest
- A wrapper for doio and iogen.
- doio
- a general purpose io initiator with system call and
- write logging. See doio.h for the structure which defines
- what doio requests should look like.
- Currently doio can handle read,write,reada,writea,ssread,
- sswrite, and many varieties of listio requests.
- For disk io, if the O_SSD flag is set doio will allocate
- the appropriate amount of ssd and do the transfer - thus, doio
- can handle all of the primitive types of file io.
- iogen
- A tool for generating file/sds io for a doio process
- pread01
- Verify the functionality of pread() by writing known data using pwrite()
- to the file at various specified offsets and later read from the file from
- various specified offsets, comparing the data read against the data
- written.
- pread02
- Verify that,
- 1) pread() fails when attempted to read from an unnamed pipe.
- 2) pread() fails if the specified offset position was invalid.
- pwrite01
- Verify the functionality of pwrite() by writing known data using pwrite()
- to the file at various specified offsets and later read from the file from
- various specified offsets, comparing the data written against the data
- read using read().
- pwrite02
- Verify that,
- 1) pwrite() fails when attempted to write to an unnamed pipe.
- 2) pwrite() fails if the specified offset position was invalid.
- read01
- Basic test for the read(2) system call
- read02
- test 1: Does read return -1 if file descriptor is not valid, check for EBADF
- test 2: Check if read sets EISDIR, if the fd refers to a directory
- test 3: Check if read sets EFAULT, if buf is -1.
- read03
- Testcase to check that read() sets errno to EAGAIN
- read04
- Testcase to check if read returns the number of bytes read correctly.
- readv01
- Testcase to check the basic functionality of the readv(2) system call.
- readv02
- Testcase to check the error conditions of the readv(2) system call.
- write01
- Basic test for write(2) system call.
- write02
- Basic functionality test: does the return from write match the count
- of the number of bytes written.
- write03
- Testcase to check that write(2) doesn't corrupt a file when it fails
- write04
- Testcase to check that write() sets errno to EAGAIN
- write05
- Check the return value, and errnos of write(2)
- - when the file descriptor is invalid - EBADF
- - when the buf parameter is invalid - EFAULT
- - on an attempt to write to a pipe that is not open for reading - EPIPE
- writev01
- Testcase to check the basic functionality of writev(2) system call.
- writev02
- In these testcases, writev() is called with partially valid data
- to be written in a sparse file.
- writev03
- The testcases are written calling writev() with partially valid data
- to overwrite the contents, to write in the beginning and to write in
- the end of the file.
- writev04
- The testcases are written calling writev() with partially valid data
- to overwrite the contents, to write in the beginning and to write in
- the end of the file. This is same as writev03, but the length of
- buffer used here is 8192 bytes.
- writev05
- These testcases are written to test writev() on sparse files. This
- is same as writev02. But the initial write() with valid data is
- done at the beginning of the file.
- disktest
- Does repeated accesses to a filespec and optionally writes to, reads from,
- and verifies the data. By default, disktest makes assumptions about
- the running environment which allows for a quick start of IO generation.
- However, Disktest has a large number of command line options which can
- be used to adapt the test for a variety of uses including data integrity,
- medium integrity, performance, and simple application simulation.
- getdents01
- get a directory entry
- getdents02
- check that we get a failure with a bad file descriptor
- getdents03
- check for an EINVAL error
- getdents04
- check for an ENOTDIR error
- getdents05
- check that we get a failure with a bad dirp address.
- process_stress
- Spawn creates a tree
- of processes with Dval depth and Bval breadth. Each parent will spawn
- Bval children. Each child will store information about themselves
- in shared memory. The leaf nodes will communicate the existence
- of one another through message queues, once each leaf node has
- received communication from all of her siblings she will reduce
- the semaphore count and exit. Meanwhile all parents are waiting
- to hear from their children through the use of semaphores. When
- the semaphore count reaches zero then the parent knows all the
- children have talked to one another. Locking of the connter semaphore
- is provided by the use of another (binary) semaphore.
- sched_stress
- Exports required environment variables and runs sched_driver
- sched_driver
- This program uses system calls to change the
- priorities of the throughput measurement testcases.
- When real-time is in effect, priorities 50 through 64
- are used. (MAX_PRI and MIN_PRI) When user-time
- (normal) is in effect, 0-14 (corresponding to nice()
- calls) is used. The driver only keeps track of
- values from 50 to 64, and the testcases will scale
- them down to 0 to 14 when needed, to change the
- priority of a user-time process.
- time-schedule
- This programme will determine the context switch
- (scheduling) overhead on a system. It takes into
- account SMP machines. True context switches are
- measured.
- trace_sched
- This utility spawns N tasks, each task sets its priority
- by making a system call to the scheduler. The thread
- function reads the priority that the scheduler sets for
- this task and also reads from /proc the processor this
- task last executed on the information that is gathered
- by the thread function may be in real-time. Its only an
- approximation.
- sched_getscheduler01
- Testcase to check sched_getscheduler() returns correct return value
- sched_getscheduler02
- To check for the errno ESRCH
- sched_setscheduler01
- Testcase to test whether sched_setscheduler(2) sets the errnos
- correctly.
- sched_setscheduler02
- Testcase to test whether sched_setscheduler(2) sets the errnos
- correctly.
- sched_yield01
- Testcase to check that sched_yield returns correct values.
- nice01
- Verify that root can provide a negative value to nice()
- and hence root can decrease the nice value of the process
- using nice() system call
- nice02
- Verify that any user can successfully increase the nice value of
- the process by passing a higher increment value (> max. applicable limits)
- to nice() system call.
- nice03
- Verify that any user can successfully increase the nice value of
- the process by passing an increment value (< max. applicable limits) to
- nice() system call.
- nice04
- Verify that, nice(2) fails when, a non-root user attempts to increase
- the priority of a process by specifying a negative increment value.
- nice05
- Basic test for nice(2)
- poll01
- Verify that valid open file descriptor must be provided to poll() to
- succeed.
- select01
- Basic test for the select(2) system call to a fd of regular file with no I/O
- and small timeout
- select02
- Basic test for the select(2) system call to fd of system pipe with no I/O
- and small timeout
- select03
- Basic test for the select(2) system call to fd of a named-pipe (FIFO)
- select04
- Verify that select(2) returns immediately (does not block) if the
- timeout value is zero.
- select05
- Verify that select(2) fails when one or more of the file descriptor sets
- specify a file descriptor which is not valid.
- select06
- Verify that select(2) fails when a signal is delivered before any of the
- selected events occur and before the timeout interval expires.
- select07
- Verify that select(2) fails when an invalid timeout interval is specified.
- select08
- Verify the functionality of select(2) by passing non-null writefds
- which points to a regular file, pipes or FIFO's.
- select09
- Verify the functionality of select(2) by passing non-null readfds
- which points to a regular file, pipes or FIFO's.
- select10
- Verify that a successful call to select() shall return the desired
- number of modified descriptors for which bits are set in the bit masks,
- where descriptors points to a regular file, pipes or FIFO's.
- sem01
- Creates a semaphore and two processes. The processes
- each go through a loop where they semdown, delay for a
- random amount of time, and semup, so they will almost
- always be fighting for control of the semaphore.
- sem02
- The application creates several threads using pthread_create().
- One thread performs a semop() with the SEM_UNDO flag set. The
- change in semaphore value performed by that semop should be
- "undone" only when the last pthread exits.
- semctl01
- test the 10 possible semctl() commands
- semctl02
- test for EACCES error
- semctl03
- test for EINVAL and EFAULT errors
- semctl04
- test for EPERM error
- semctl05
- test for ERANGE error
- semget01
- test that semget() correctly creates a semaphore set
- semget02
- test for EACCES and EEXIST errors
- semget03
- test for ENOENT error
- semget05
- test for ENOSPC error
- semget06
- test for EINVAL error
- semop01
- test that semop() basic functionality is correct
- semop02
- test for E2BIG, EACCES, EFAULT and EINVAL errors
- semop03
- test for EFBIG error
- semop04
- test for EAGAIN error
- semop05
- test for EINTR and EIDRM errors
- shmat01
- test that shmat() works correctly
- shmat02
- check for EINVAL and EACCES errors
- shmat03
- test for EACCES error
- shmctl01
- test the IPC_STAT, IPC_SET and IPC_RMID commands as
- they are used with shmctl()
- shmctl02
- check for EACCES, EFAULT and EINVAL errors
- shmctl03
- check for EACCES, and EPERM errors
- shmdt01
- check that shared memory is detached correctly
- shmdt02
- check for EINVAL error
- shmget01
- test that shmget() correctly creates a shared memory segment
- shmget02
- check for ENOENT, EEXIST and EINVAL errors
- shmget03
- test for ENOSPC error
- shmget04
- test for EACCES error
- shmget05
- test for EACCES error
- shmat1
- Test the LINUX memory manager. The program is aimed at
- stressing the memory manager by repeated shmat/write/read/
- shmatd of file/memory of random size (maximum 1000 * 4096)
- done by multiple processes.
- shm_test
- This program is designed to stress the Memory management sub -
- system of Linux. This program will spawn multiple pairs of
- reader and writer threads. One thread will create the shared
- segment of random size and write to this memory, the other
- pair will read from this memory.
- sigaction01
- Test some features of sigaction (see below for more details)
- sigaction02
- Testcase to check the basic errnos set by the sigaction(2) syscall.
- sigaltstack01
- Send a signal using the main stack. While executing the signal handler
- compare a variable's address lying on the main stack with the stack
- boundaries returned by sigaltstack().
- sigaltstack02
- Verify that,
- 1. sigaltstack() fails and sets errno to EINVAL when "ss_flags" field
- pointed to by 'ss' contains invalid flags.
- 2. sigaltstack() fails and sets errno to ENOMEM when the size of alternate
- stack area is less than MINSIGSTKSZ.
- sighold02
- Basic test for the sighold02(2) system call.
- signal01
- set the signal handler to our own function
- signal02
- Test that we get an error using illegal signals
- signal03
- Boundary value and other invalid value checking of signal setup and signal
- sending.
- signal04
- restore signals to default behavior
- signal05
- set signals to be ignored
- sigprocmask01
- Verify that sigprocmask() succeeds to examine and change the calling
- process's signal mask.
- Also, verify that sigpending() succeeds to store signal mask that are
- blocked from delivery and pending for the calling process.
- sigrelse01
- Basic test for the sigrelse(2) system call.
- sigsuspend01
- Verify that sigsuspend() succeeds to change process's current signal
- mask with the specified signal mask and suspends the process execution
- until the delivery of a signal.
- kill01
- Test case to check the basic functionality of kill().
- kill02
- Sending a signal to processes with the same process group ID
- kill03
- Test case to check that kill fails when given an invalid signal.
- kill04
- Test case to check that kill() fails when passed a non-existent pid.
- kill05
- Test case to check that kill() fails when passed a pid owned by another
- user.
- kill06
- Test case to check the basic functionality of kill() when killing an
- entire process group with a negative pid.
- kill07
- Test case to check that SIGKILL can not be caught.
- kill08
- Test case to check the basic functionality of kill() when kill an
- entire process group.
- kill09
- Basic test for kill(2)
- kill10
- Signal flooding test.
- mtest01
- mallocs memory <chunksize> at a time until malloc fails.
- mallocstress
- This program is designed to stress the VMM by doing repeated */
- mallocs and frees, with out using the swap space. This is */
- achieved by spawning N threads with repeatedly malloc and free*/
- a memory of size M. The stress can be increased by increasing */
- the number of repetitions over the default number using the */
- -l [num] option.
- clisrv
- Sender: Read contents of data file. Write each line to socket, then
- read line back from socket and write to standard output.
- Receiver: Read a stream socket one line at a time and write each line
- back to the sender.
- Usage: pthcli [port number]
-
- socket01
- Verify that socket() returns the proper errno for various failure cases
- socketpair01
- Verify that socketpair() returns the proper errno for various failure cases
- sockioctl01
- Verify that ioctl() on sockets returns the proper errno for various
- failure cases
- connect01
- Verify that connect() returns the proper errno for various failure cases
- getpeername01
- Verify that getpeername() returns the proper errno for various failure cases
- getsockname01
- Verify that getsockname() returns the proper errno for various failure cases
- getsockopt01
- Verify that getsockopt() returns the proper errno for various failure cases
- listen01
- Verify that listen() returns the proper errno for various failure cases
- accept01
- Verify that accept() returns the proper errno for various failure cases
- bind01
- Verify that bind() returns the proper errno for various failure cases
- recv01
- Verify that recv() returns the proper errno for various failure cases
- recvfrom01
- Verify that recvfrom() returns the proper errno for various failure cases
- recvmsg01
- Verify that recvmsg() returns the proper errno for various failure cases
- send01
- Verify that send() returns the proper errno for various failure cases
- sendmsg01
- Verify that sendmsg() returns the proper errno for various failure cases
- sendto01
- Verify that sendto() returns the proper errno for various failure cases
- setsockopt01
- Verify that setsockopt() returns the proper errno for various failure cases
- fstat01
- Basic test for fstat(2)
- fstat02
- Verify that, fstat(2) succeeds to get the status of a file and fills
- the stat structure elements though file pointed to by file descriptor
- not opened for reading.
- fstat03
- Verify that, fstat(2) returns -1 and sets errno to EBADF if the file
- pointed to by file descriptor is not valid.
- fstat04
- Verify that, fstat(2) succeeds to get the status of a file pointed by
- file descriptor and fills the stat structure elements.
- fstatfs01
- Basic test for fstatfs(2)
- fstatfs02
- Testcase to check fstatfs() sets errno correctly.
- lstat01
- Verify that, lstat(2) succeeds to get the status of a file pointed to by
- symlink and fills the stat structure elements.
- lstat02
- Basic test for lstat(2)
- lstat03
- Verify that,
- 1) lstat(2) returns -1 and sets errno to EACCES if search permission is
- denied on a component of the path prefix.
- 2) lstat(2) returns -1 and sets errno to ENOENT if the specified file
- does not exists or empty string.
- 3) lstat(2) returns -1 and sets errno to EFAULT if pathname points
- outside user's accessible address space.
- 4) lstat(2) returns -1 and sets errno to ENAMETOOLONG if the pathname
- component is too long.
- 5) lstat(2) returns -1 and sets errno to ENOTDIR if the directory
- component in pathname is not a directory.
- stat01
- Verify that, stat(2) succeeds to get the status of a file and fills the
- stat structure elements.
- stat02
- Verify that, stat(2) succeeds to get the status of a file and fills the
- stat structure elements though process doesn't have read access to the
- file.
- stat03
- Verify that,
- 1) stat(2) returns -1 and sets errno to EACCES if search permission is
- denied on a component of the path prefix.
- 2) stat(2) returns -1 and sets errno to ENOENT if the specified file
- does not exists or empty string.
- 3) stat(2) returns -1 and sets errno to EFAULT if pathname points
- outside user's accessible address space.
- 4) stat(2) returns -1 and sets errno to ENAMETOOLONG if the pathname
- component is too long.
- 5) stat(2) returns -1 and sets errno to ENOTDIR if the directory
- component in pathname is not a directory.
- stat05
- Basic test for the stat05(2) system call.
- statfs01
- Basic test for the statfs(2) system call.
- statfs02
- Testcase to check that statfs(2) sets errno correctly.
- read01
- Basic test for the read(2) system call
- read02
- test 1: Does read return -1 if file descriptor is not valid, check for EBADF
- test 2: Check if read sets EISDIR, if the fd refers to a directory
- test 3: Check if read sets EFAULT, if buf is -1.
- read03
- Testcase to check that read() sets errno to EAGAIN
- read04
- Testcase to check if read returns the number of bytes read correctly.
- umask01
- Basic test for the umask(2) system call.
- umask02
- Check that umask changes the mask, and that the previous
- value of the mask is returned correctly for each value.
- umask03
- Check that umask changes the mask, and that the previous
- value of the mask is returned correctly for each value.
- getgroups01
- Getgroups system call critical test
- getgroups02
- Basic test for getgroups(2)
- getgroups03
- Verify that, getgroups() system call gets the supplementary group IDs
- of the calling process.
- getgroups04
- Verify that,
- getgroups() fails with -1 and sets errno to EINVAL if the size
- argument value is -ve.
- gethostname01
- Basic test for gethostname(2)
- getpgid01
- Testcase to check the basic functionality of getpgid().
- getpgid02
- Testcase to check the basic functionality of getpgid().
- getpgrp01
- Basic test for getpgrp(2)
- getpriority01
- Verify that getpriority() succeeds get the scheduling priority of
- the current process, process group or user.
- getpriority02
- Verify that,
- 1) getpriority() sets errno to ESRCH if no process was located
- was located for 'which' and 'who' arguments.
- 2) getpriority() sets errno to EINVAL if 'which' argument was
- not one of PRIO_PROCESS, PRIO_PGRP, or PRIO_USER.
- getresgid01
- Verify that getresgid() will be successful to get the real, effective
- and saved user id of the calling process.
- getresgid02
- Verify that getresgid() will be successful to get the real, effective
- and saved user ids after calling process invokes setregid() to change
- the effective/saved gids to that of specified user.
- getresgid03
- Verify that getresgid() will be successful to get the real, effective
- and saved user ids after calling process invokes setresgid() to change
- the effective gid to that of specified user.
- getresuid01
- Verify that getresuid() will be successful to get the real, effective
- and saved user id of the calling process.
- getresuid02
- Verify that getresuid() will be successful to get the real, effective
- and saved user ids after calling process invokes setreuid() to change
- the effective/saved uids to that of specified user.
- getresuid03
- Verify that getresuid() will be successful to get the real, effective
- and saved user ids after calling process invokes setresuid() to change
- the effective uid to that of specified user.
- getsid01
- call getsid() and make sure it succeeds
- getsid02
- call getsid() with an invalid PID to produce a failure
- setfsgid01
- Testcase to check the basic functionality of setfsgid(2) system
- call.
- setfsuid01
- Testcase to test the basic functionality of the setfsuid(2) system
- call.
- setgid01
- Basic test for the setgid(2) system call.
- setgid02
- Testcase to ensure that the setgid() system call sets errno to EPERM
- setgroups01
- Basic test for the setgroups(2) system call.
- setgroups02
- Verify that,
- 1. setgroups() fails with -1 and sets errno to EINVAL if the size
- argument value is > NGROUPS
- 2. setgroups() fails with -1 and sets errno to EPERM if the
- calling process is not super-user.
- setgroups03
- Verify that, only root process can invoke setgroups() system call to
- set the supplementary group IDs of the process.
- setpgid01
- Basic test for setpgid(2) system call.
- setpgid02
- Testcase to check that setpgid() sets errno correctly.
- setpgid03
- Test to check the error and trivial conditions in setpgid system call
- setpriority01
- set the priority for the test process lower.
- setpriority02
- test for an expected failure by trying to raise
- the priority for the test process while not having
- permissions to do so.
- setpriority03
- test for an expected failure by using an invalid
- PRIO value
- setpriority04
- setpriority04
- test for an expected failure by using an invalid
- process id
- setpriority05
- test for an expected failure by trying to change
- a process with an ID that is different from the
- test process
- setregid01
- Basic test for the setregid(2) system call.
- setregid02
- Test that setregid() fails and sets the proper errno values when a
- non-root user attempts to change the real or effective group id to a
- value other than the current gid or the current effective gid.
- setregid03
- Test setregid() when executed by a non-root user.
- setregid04
- Test setregid() when executed by root.
- setresuid01
- Test setresuid() when executed by root.
- setresuid02
- Test that a non-root user can change the real, effective and saved
- uid values through the setresuid system call.
- setresuid03
- Test that the setresuid system call sets the proper errno
- values when a non-root user attempts to change the real, effective or
- saved uid to a value other than one of the current uid, the current
- effective uid of the current saved uid. Also verify that setresuid
- fails if an invalid uid value is given.
- setreuid01
- Basic test for the setreuid(2) system call.
- setreuid02
- Test setreuid() when executed by root.
- setreuid03
- Test setreuid() when executed by an unprivileged user.
- setreuid04
- Test that root can change the real and effective uid to an
- unprivileged user.
- setreuid05
- Test the setreuid() feature, verifying the role of the saved-set-uid
- and setreuid's effect on it.
- setreuid06
- Test that EINVAL is set when setreuid is given an invalid user id.
- setrlimit01
- Testcase to check the basic functionality of the setrlimit system call.
- setrlimit02
- Testcase to test the different errnos set by setrlimit(2) system call.
- setrlimit03
- Test for EPERM when the super-user tries to increase RLIMIT_NOFILE
- beyond the system limit.
- setsid01
- Test to check the error and trivial conditions in setsid system call
- setuid01
- Basic test for the setuid(2) system call.
- setuid02
- Basic test for the setuid(2) system call as root.
- setuid03
- Test to check the error and trivial conditions in setuid
- fs_perms
- Regression test for Linux filesystem permissions.
- uname01
- Basic test for the uname(2) system call.
- uname02
- Call uname() with an invalid address to produce a failure
- uname03
- Call uname() and make sure it succeeds
- sysctl01
- Testcase for testing the basic functionality of sysctl(2) system call.
- This testcase attempts to read the kernel parameters using
- sysctl({CTL_KERN, KERN_ }, ...) and compares it with the known
- values.
- sysctl03
- Testcase to check that sysctl(2) sets errno to EPERM correctly.
- sysctl04
- Testcase to check that sysctl(2) sets errno to ENOTDIR
- sysctl05
- Testcase to check that sysctl(2) sets errno to EFAULT
- time01
- Basic test for the time(2) system call.
- time02
- Verify that time(2) returns the value of time in seconds since
- the Epoch and stores this value in the memory pointed to by the parameter.
- times01
- Basic test for the times(2) system call.
- times02
- Testcase to test that times() sets errno correctly
- times03
- Testcase to check the basic functionality of the times() system call.
- utime01
- Verify that the system call utime() successfully sets the modification
- and access times of a file to the current time, if the times argument
- is null, and the user ID of the process is "root".
- utime02
- Verify that the system call utime() successfully sets the modification
- and access times of a file to the current time, under the following
- constraints,
- - The times argument is null.
- - The user ID of the process is not "root".
- - The file is owned by the user ID of the process.
- utime03
- Verify that the system call utime() successfully sets the modification
- and access times of a file to the current time, under the following
- constraints,
- - The times argument is null.
- - The user ID of the process is not "root".
- - The file is not owned by the user ID of the process.
- - The user ID of the process has write access to the file.
- utime04
- Verify that the system call utime() successfully sets the modification
- and access times of a file to the time specified by times argument, if
- the times argument is not null, and the user ID of the process is "root".
- utime05
- Verify that the system call utime() successfully sets the modification
- and access times of a file to the value specified by the times argument
- under the following constraints,
- - The times argument is not null,
- - The user ID of the process is not "root".
- - The file is owned by the user ID of the process.
- utime06
- 1. Verify that the system call utime() fails to set the modification
- and access times of a file to the current time, under the following
- constraints,
- - The times argument is null.
- - The user ID of the process is not "root".
- - The file is not owned by the user ID of the process.
- - The user ID of the process does not have write access to the
- file.
- 2. Verify that the system call utime() fails to set the modification
- and access times of a file if the specified file doesn't exist.
- settimeofday01
- Testcase to check the basic functionality of settimeofday().
- settimeofday02
- Testcase to check that settimeofday() sets errnos correctly.
- stime01
- Verify that the system call stime() successfully sets the system's idea
- of data and time if invoked by "root" user.
- stime02
- Verify that the system call stime() fails to set the system's idea
- of data and time if invoked by "non-root" user.
- gettimeofday01
- Testcase to check that gettimeofday(2) sets errno to EFAULT.
- alarm01
- Basic test for alarm(2).
- alarm02
- Boundary Value Test for alarm(2).
- alarm03
- Alarm(2) cleared by a fork.
- alarm04
- Check that when an alarm request is made, the signal SIGALRM is received
- even after the process has done an exec().
- alarm05
- Check the functionality of the Alarm system call when the time input
- parameter is non zero.
- alarm06
- Check the functionality of the Alarm system call when the time input
- parameter is zero.
- alarm07
- Check the functionality of the alarm() when the time input
- parameter is non-zero and the process does a fork.
- getegid01
- Basic test for getegid(2)
- geteuid01
- Basic test for geteuid(2)
- getgid01
- Basic test for getgid(2)
- getgid02
- Testcase to check the basic functionality of getgid().
- getgid03
- Testcase to check the basic functionality of getegid().
- getpid01
- Basic test for getpid(2)
- getpid02
- Verify that getpid() system call gets the process ID of the of the
- calling process.
- getppid01
- Testcase to check the basic functionality of the getppid() syscall.
- getuid01
- Basic test for getuid(2)
- getuid02
- Testcase to check the basic functionality of the geteuid() system call.
- getuid03
- Testcase to check the basic functionality of the getuid() system call.
- nanosleep01
- Verify that nanosleep() will be successful to suspend the execution
- of a process for a specified time.
- nanosleep02
- Verify that nanosleep() will be successful to suspend the execution
- of a process, returns after the receipt of a signal and writes the
- remaining sleep time into the structure.
- nanosleep03
- Verify that nanosleep() will fail to suspend the execution
- of a process for a specified time if interrupted by a non-blocked signal.
- nanosleep04
- Verify that nanosleep() will fail to suspend the execution
- of a process if the specified pause time is invalid.
|