My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
PharoKernel  
Updated Aug 27, 2009 by pavel.krivanek@gmail.com

#Pharo-Kernel image description

Introduction

Pharo-Kernel is an image that is based on KernelImage project http://www.squeaksource.com/KernelImage.html originally developed for Squeak. Currently its purpose is to collect and tests patches for Pharo-Core that will make this Smalltalk environment more modular.

Pharo-Kernel is headless image without GUI nor network support and the only way how to communicate with it is via scripts sent as an argument to the virtual machine.

Downloads

image: http://gforge.inria.fr/frs/download.php/22832/PharoKernel-1.0-10418-BETA.zip

building environment: http://squeak.cz/public/pub/KernelImage/scripts.zip

Image status

  • size about 2 MB
  • no obsolete classes
  • about ten Undeclared
  • about 120 unimplemented calls
  • huge amount of unsent messages (ideally all messages should be sent or covered by tests)
  • for more details see output file info.txt

Building environment

  • building environment is working on Windows, Linux and MacOS (thanks Damien!)
  • download and extract building environment for Pharo-Kernel
  • download Pharo-Core image (current version was prepared for Pharo1.0betaCore-10401 however it works for 10418 too)
  • modify script build_image.sh (vm path, image file)
  • execute build_image.sh script
  • wait... (about 2 minutes)
  • if everything works fine, execute the script run_tests.sh
  • the processing order should be simplified in future

DummyUIManager.st

  • UIManager subclass for headless image

MorphicUIManager.st

  • extensions for MorphicUIManager

patch.st

  • set of modifications for Pharo, all patches need review and bug-tracker entries

unload.st

  • switch UIManager
  • remove all processes that are not system critical
  • clean system dictionary
  • clean parameters of Preferences
  • clean some classpools
  • set EvalError as the sysntax error catcher (dummy implemantation)
  • clean Monticello caches
  • compact Unicode tables (only for smaller image size)
  • clean startup and shutdown lists
  • use ScriptLauncher (simplified version of ProjectLauncher)
  • clean change sets
  • startCleanup (avoid obsolete instances in current context)

shrink.st

  • next cleanup of class pools
  • remove the method #unload from all classes that will be removed (avoid side effects)
  • remove all classes that are not welcome (hierarchically)

recompile.st

  • recompile all classes

methods.st

  • remove all files specified in methods.txt to be removed

methods2.st

  • remove all files specified in methods2.txt to be removed
  • this list was done partly automatically from caparison with the base.image from KernelImage

condenseChanges.st

  • condese changes file

info.st

  • generate image cleanup report

Tests

Some basic SUnit tests are attached. Currently most kernel tests except some process tests because they use some classes that are not present in Pharo-Kernel (Monitor etc.). That classes may be part of Pharo-Kernel in future or to be standalone packages.

  • Run: 863
  • Expected passes: 855
  • Expected failures: 2
  • Unexpected failures: 3
  • Errors: 3

Some of failing tests are related to absence of the Debugger. See report.txt for more details.


Sign in to add a comment
Powered by Google Project Hosting