Aptivi - Deprecated Manuals
ProjectsWebsiteBlog
Nitrocid KS v0.1.1 - RTM
Nitrocid KS v0.1.1 - RTM
  • ๐Ÿ‘‹Welcome!
  • ๐Ÿ—ž๏ธVersion Release Notes
  • Installation and Maintenance
    • ๐Ÿ“€Installing the Kernel
      • ๐Ÿ’ปWindows
      • ๐ŸŽmacOS
      • ๐ŸงLinux
      • ๐Ÿ“ฑAndroid
    • โซUpgrading the Kernel
      • ๐Ÿ’ปWindows
      • ๐ŸŽmacOS
      • ๐ŸงLinux
      • ๐Ÿ“ฑAndroid
    • ๐Ÿ“ฆDependency Information
  • Fundamentals
    • ๐ŸŒฝWhat is the Kernel?
    • ๐Ÿ‘พWhat is Nitrocid KS?
    • โญSimulated Kernel Features
      • ๐ŸŒŸExtra Features
        • ๐ŸŒMore Networking
          • ๐Ÿ—ƒ๏ธFTP Client
          • ๐Ÿ”’SFTP Client
          • ๐Ÿ“ฐRSS Client
          • ๐ŸŒHTTP Client
          • ๐Ÿ“งMail Client
        • ๐ŸŽฎGames and Amusements
          • ๐Ÿ”คHangman
          • ๐Ÿ‡BackRace
          • โ˜„๏ธMeteor
          • ๐Ÿ“Pong
          • ๐ŸŽฐRussian Roulette
          • โ˜„๏ธShipDuet
          • ๐ŸSnaker
          • ๐Ÿ”ขSolver
          • โŒจ๏ธSpeedPress
          • ๐Ÿ” Wordle
        • ๐Ÿ–Š๏ธMore Editors
          • ๐Ÿ–Š๏ธJSON Editor
          • ๐Ÿ—„๏ธSQL Editor
        • ๐ŸงฐCommon Programs
          • ๐Ÿ“ฆArchive
          • โ˜•Caffeine
          • ๐Ÿ—“๏ธCalendar
          • ๐Ÿ”ขCalculator
          • ๐Ÿ‘ฅContacts
          • ๐Ÿ“•Dictionary
          • ๐Ÿ‘ฉโ€๐Ÿ’ปGit Shell
          • ๐ŸŽงMusic Player
          • ๐Ÿ—’๏ธNotes
          • ๐Ÿ”ŒSSH Connection
          • ๐Ÿ’นStocks
          • โฐStopwatch and Timer
          • โ˜‘๏ธTo-do List
          • โš–๏ธUnit Converter
          • โ˜€๏ธWeather
        • ๐Ÿ–ผ๏ธDocking
        • ๐ŸŒLanguage Studio
        • ๐ŸŽจTheme Studio
      • ๐Ÿ‘คAccounts
        • ๐Ÿ‘ฅGroups
        • ๐Ÿ”“Permissions
      • โœ๏ธEditors
        • ๐Ÿ“Text Editor
        • ๐Ÿ’พHex Editor
      • ๐ŸšShells
        • ๐Ÿ“„Commands List
        • ๐Ÿ“„Addon Commands List
      • ๐Ÿ“‚Files and Folders
        • ๐Ÿ”Hashing and Encryption
      • ๐ŸŒŽNetworking
      • ๐Ÿ‡บ๐Ÿ‡ธLanguages
      • ๐ŸŒŒScreensavers
      • ๐Ÿ“…Lockscreen Widgets
  • Advanced and Power Users
    • โš’๏ธBuilding the Kernel
      • ๐ŸชŸBuilding on Windows
      • ๐ŸŽBuilding on macOS
      • ๐ŸงBuilding on Linux
      • ๐Ÿ“ฑBuilding on Android
    • ๐ŸงฐKernel Modifications
      • ๐ŸงชBuilding your Mod
      • ๐Ÿ“ˆAnalyzing your Mod
        • ๐Ÿ“‰Text - NKS0001
        • ๐Ÿ“‰ConsoleBase - NKS0002
        • ๐Ÿ“‰ConsoleBase - NKS0003
        • ๐Ÿ“‰ConsoleBase - NKS0004
        • ๐Ÿ“‰ConsoleBase - NKS0005
        • ๐Ÿ“‰ConsoleBase - NKS0006
        • ๐Ÿ“‰ConsoleBase - NKS0007
        • ๐Ÿ“‰ConsoleBase - NKS0008
        • ๐Ÿ“‰ConsoleBase - NKS0009
        • ๐Ÿ“‰Files - NKS0010
        • ๐Ÿ“‰Files - NKS0011
        • ๐Ÿ“‰Files - NKS0012
        • ๐Ÿ“‰Files - NKS0013
        • ๐Ÿ“‰Files - NKS0014
        • ๐Ÿ“‰Files - NKS0015
        • ๐Ÿ“‰Files - NKS0016
        • ๐Ÿ“‰Files - NKS0017
        • ๐Ÿ“‰Files - NKS0018
        • ๐Ÿ“‰Files - NKS0019
        • ๐Ÿ“‰Files - NKS0020
        • ๐Ÿ“‰Files - NKS0021
        • ๐Ÿ“‰Files - NKS0022
        • ๐Ÿ“‰Files - NKS0023
        • ๐Ÿ“‰Kernel - NKS0024
        • ๐Ÿ“‰Kernel - NKS0025
        • ๐Ÿ“‰Kernel - NKS0026
        • ๐Ÿ“‰Kernel - NKS0027
        • ๐Ÿ“‰Kernel - NKS0031
        • ๐Ÿ“‰Kernel - NKS0032
        • ๐Ÿ“‰Kernel - NKS0033
        • ๐Ÿ“‰Kernel - NKS0037
        • ๐Ÿ“‰Kernel - NKS0038
        • ๐Ÿ“‰Kernel - NKS0039
        • ๐Ÿ“‰Kernel - NKS0040
        • ๐Ÿ“‰Kernel - NKS0041
        • ๐Ÿ“‰Kernel - NKS0042
        • ๐Ÿ“‰Kernel - NKS0043
        • ๐Ÿ“‰Kernel - NKS0052
        • ๐Ÿ“‰Kernel - NKS0053
        • ๐Ÿ“‰Languages - NKS0044
        • ๐Ÿ“‰Languages - NKS0045
        • ๐Ÿ“‰Languages - NKS0046
        • ๐Ÿ“‰Network - NKS0051
        • ๐Ÿ“‰Text - NKS0047
        • ๐Ÿ“‰Text - NKS0048
        • ๐Ÿ“‰Text - NKS0049
        • ๐Ÿ“‰Text - NKS0050
        • ๐Ÿ“‰Text - NKS0054
        • ๐Ÿ“‰Text - NKS0055
      • ๐Ÿ”งManaging your Mod
        • ๐Ÿ“žInter-Mod Communication
        • ๐Ÿ“žInter-Addon Communication
    • ๐Ÿฆ Diagnostics
      • ๐Ÿ”ฌDebugging
        • ๐ŸงฌLocal Debugging
        • ๐Ÿ›ฐ๏ธRemote Debugging
      • ๐ŸงชTesting
      • ๐Ÿ’‰Other Diagnostics
    • ๐Ÿ“€Bootloader
      • ๐Ÿ‘†Boot Choices
      • โ–ถ๏ธKernel Environments
      • ๐Ÿ’„Custom Boot Styles
    • โš’๏ธInner Workings
      • ๐Ÿ”งKernel Settings
        • โ›๏ธMechanics of Settings App
        • ๐Ÿ”ฉSettings Format
        • โš™๏ธCustom Settings
      • ๐ŸšShell Structure
        • โ”Help System
        • ๐Ÿ—œ๏ธCommand Parsing
        • ๐Ÿ”‹Command Information
        • โฒ๏ธCommand Switch Management
        • ๐ŸŽš๏ธCommand Switch Information
        • โณShell History
        • ๐Ÿ“œShell Scripting
        • ๐Ÿ“ŸShell Presets
        • ๐Ÿ’ Extra Shell Features
      • ๐ŸŒMultilingual Kernel
        • ๐ŸŒCustom Languages
      • โ™ฆ๏ธInner Essentials
        • ๐Ÿ”ŒKernel Drivers
          • ๐Ÿ”ŒConsole Drivers
          • ๐Ÿ”ŒDebug Logger Drivers
          • ๐Ÿ”ŒEncoding Drivers
          • ๐Ÿ”ŒEncryption Drivers
          • ๐Ÿ”ŒFilesystem Drivers
          • ๐Ÿ”ŒHardware Prober Drivers
          • ๐Ÿ”ŒInput Drivers
          • ๐Ÿ”ŒNetwork Drivers
          • ๐Ÿ”ŒRNG Drivers
          • ๐Ÿ”ŒRegular Expression Drivers
          • ๐Ÿ”ŒSorting Drivers
        • ๐ŸชงKernel Placeholders
        • ๐Ÿ”The Permissions
        • ๐Ÿ‘ฅThe Users
        • ๐Ÿ“žKernel Threads
        • ๐ŸŽ›๏ธKernel Arguments
        • ๐Ÿ“’Kernel Journaling
        • ๐Ÿ“กRemote Procedure
        • ๐Ÿ—ƒ๏ธNitrocid Filesystem
        • ๐ŸŒƒScreensaver Internals
        • ๐Ÿ’ฆSplash Internals
        • ๐Ÿ–ฅ๏ธKernel Platform
        • ๐ŸŽจTheme Internals
        • โ›ฑ๏ธColor Internals
        • ๐Ÿ”Privacy Consents
        • ๐Ÿ””System Notifications
        • โœ‰๏ธMAL and MOTD
        • โŒ›Progress Handlers
        • โœ’๏ธAssembly Signing
        • ๐Ÿ”Assembly Reflection
        • ๐ŸŽฐRandom Number Generation
        • ๐ŸŒNetwork Tools
        • ๐Ÿ•™Date and Time
        • ๐Ÿ“–Mod Manual Pages
      • ๐ŸŒ€Miscellaneous APIs
  • ๐ŸงฑProject Dependencies
  • Report an issue
  • Source code
  • API Reference
Powered by GitBook
On this page
  • Controls
  • How it works?
Edit on GitHub
  1. Advanced and Power Users
  2. Diagnostics

Testing

This page describes how to test the kernel with various features

Last updated 3 months ago

Another way to diagnose the kernel is through testing. It uses the facade system to allow you to test individual kernel features. It can be invoked by running Nitrocid KS with the testInteractive command-line argument.

Controls

In the main screen, it shows you all the available test facades, with the four below options:

  • Test All: Tests all the facades

  • Stats: Shows how many tests are run and how many tests are yet to run, including failed tests

  • Shutdown: ๏ธŽExits the test environment and shuts the kernel down

Pressing ENTER will run a test facade and gives you an option to see whether the test succeeded or failed at the end of the test. These options are given to you, as per your judgment:

  • y: Declares the test as successful (TestStatus.Success)

  • n: Declares the test as failed (TestStatus.Failed)

  • r: Retries the test

How it works?

The interactive test contains facades, each contained in the internal TestFacade class. It contains a status, a name, and a method to run the facade under an overridable Run() method.

Each facade have their individual values set. Their statuses are initially set to TestStatus.Neutral, which indicates that the test hasn't been run yet.

The interactive test runs a facade using the internal RunFacade() method that handles both running the facade itself and an option to judge whether the test succeeded or failed. It also gives you an option whether to repeat the test.

If the test facade is set to compare between the expected value (TestExpectedValue) and the actual value (TestActualValue), the interactive tester will compare the equality of the values, and judges whether the test succeeded or failed.

๐Ÿฆ 
๐Ÿงช