Commit Graph

70 Commits

Author SHA1 Message Date
Arthur Valadares
18aa2ea0c5 * Improves SceneSetupHelper to allow the tester to choose a real or mock, inventory and asset, service modules. The boolean startServices was replaced with realServices string. If the string contains the word asset, it will start a real asset module, if it contains inventory, it starts a real inventory. Otherwise, it use mock (NullPlugin-like) objects, for tests that don't really need functionality.
* SetupScene is now actually sharing the asset and inventory modules if the tester wishes to have multiple regions connected. To link regions, just start SetupScene with the same CommunicationManager for all scenes. SceneSetupHelper will hold a static reference to the modules and won't initialize them again, just run the scenes through the modules AddRegion, RegionLoaded and PostInitialize.

* With the recent changes, both asset and inventory (and in the future, user) services should always be asked from the scene, not instantiated alone. The tests should reflect this new behavior and always start a scene.
2009-08-11 12:07:54 -03:00
Diva Canto
0d8284c7a1 Removed IAssetCache.
WARNING: PLEASE MAKE SURE TO USE THIS NEW bin/OpenSim.addin.xml
2009-08-10 08:14:57 -07:00
Sean Dague
3dc2010da6 From: Chris Yeoh <yeohc@au1.ibm.com>
Attached is a patch that changes the oar file saving of creation date/time to an integer
instead of a string. I did this after justincc emailed me saying there is a problem
with internationalisation doing it the old way and I said I'd fix it. Its been
tested with MySQL and I've made the changes for MSSQL but that hasn't been well tested.
2009-06-29 15:05:12 +00:00
Justin Clarke Casey
9f2ddfd167 * Temporarily resolve another problem in http://opensimulator.org/mantis/view.php?id=3741 by disabling the loading of OAR creation information 2009-06-12 20:00:26 +00:00
Justin Clarke Casey
cb6baacc31 * minor: remove one mono warning 2009-06-12 14:29:42 +00:00
Justin Clarke Casey
874df490fb * fix build break: sigh, must remember to build before committing 2009-06-12 14:23:31 +00:00
Justin Clarke Casey
4e526778b7 * minor: make control file loading code consistent 2009-06-12 14:18:01 +00:00
Justin Clarke Casey
15b8641bef * minor: if OAR saving receives assets after timeout, just print warning, don't accidentally go on to process them 2009-06-12 14:00:50 +00:00
Justin Clarke Casey
86043c431f * minor: remove warning from unused field 2009-06-12 13:37:08 +00:00
Justin Clarke Casey
593942b195 * Fix problem where known missing assets would stop save oar ever completing
* Issue was that region server was silently dropping an XmlException caused by trying to deserialize the blank asset service response
* So make asset service return http status NOT FOUND rather than OK in accordance with REST
* and interpret this correctly in the async response so that a null object is sent back
* This means that this fix won't be active until both region simulator and server reach this revision
2009-06-05 16:14:22 +00:00
Justin Clarke Casey
bfea077508 * Add oar saving timeout
* If an oar save fails to get responses to all asset requests to the asset service then timeout after 60 seconds
* Timeout executes abort, since missing assets in an OAR seems bad
* This means that oar saves won't permanently hang and instead can be retried if something goes wrong with the asset service
* This is not a solution to mantis 3714.  Hopefully a fix will be along shortly since I can now consistently reproduce that problem
2009-06-05 13:48:43 +00:00
Dr Scofield
717fd3b5b9 From: Chris Yeoh <yeohc@au1.ibm.com>
This patch adds oar file date and time (UTC) meta data to an oar file
when it is created.  It also adds a unique ID, though this id does not
in anyway identify the machine that the oar file was created on.

When an oar file with this meta data is loaded this extra information
is saved with the region settings and available via LSL through:

- osLoadedCreationDate()
- osLoadedCreationTime()
- osLoadedCreationID()

If there is no meta data these fields will be blank. Subsequent oar
file loads will erase the information for the previous oar file
load. Persistence has only been implemented for MySQL, the other
backends need updating.

Overall this allows us to much more easily identify the specific version of
software that clients are using. Its very straightforward to edit the oar file
to change the ID string to be something more human friendly.

Included in the patch is a new file OpenSim/Data/MySQL/Resources/030_RegionStore.sql
required for the MySQL DB migration.

btw I had a chat with justincc about this a few weeks ago since he
wrote the oar file import/export and he sounded happy to accept
something that included date/time information but didn't want anything
that would silently leak private information like machine names.
2009-06-03 12:48:04 +00:00
Justin Clarke Casey
5c42143a7b * Add simple original xml serialization test 2009-06-02 15:24:29 +00:00
Justin Clarke Casey
f6badc528b * minor: change the name of one serialization method to match its counterpart 2009-06-01 17:38:11 +00:00
Justin Clarke Casey
ecbeb5cea1 * Fix race condition in save oar 2009-06-01 16:00:46 +00:00
Jeff Ames
840de6c036 Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
Justin Clarke Casey
fa04937a82 * Add xml2 load test 2009-05-29 16:11:33 +00:00
Justin Clarke Casey
01ca3a91ad * Take another attempt at http://opensimulator.org/mantis/view.php?id=3191
* Return something more sensible if a file isn't found
2009-05-19 19:41:01 +00:00
Justin Clarke Casey
1cc9d1fd8d * minor: another attempt at http://opensimulator.org/mantis/view.php?id=3191
* didn't realize that we were getting back plain old exceptions
2009-05-18 18:44:55 +00:00
Justin Clarke Casey
29671fc103 * Resolve http://opensimulator.org/mantis/view.php?id=3191
* Catch directory exception on load oar as well as file exception
2009-05-18 18:22:15 +00:00
Justin Clarke Casey
ad7214620f * Re-enable save oar test by loading asset data plugins from test mock class
* Actually spit out the exception caught by the plugin loader - not much point having plugins throw exceptions if we are just going to ignore them
2009-05-18 17:46:14 +00:00
Dr Scofield
e3f2cfa1ca From: Alan Webb <alan_webb@us.ibm.com>
Fixes:
  [1] Sharing exception on remote OAR management
  [2] Occasional 505 error talking to Tomcat
  [3] Occasional mono aborts caused by mlog in the
      script engine's app domain (mono 2.4)
2009-05-18 10:04:28 +00:00
Justin Clarke Casey
c11e047410 * Resolve bug where save oar would never complete if any assets were missing 2009-05-15 20:20:55 +00:00
diva
5e4fc6e91e Heart surgery on asset service code bits. Affects OpenSim.ini configuration -- please see the example. Affects region servers only.
This may break a lot of things, but it needs to go in. It was tested in standalone and the UCI grid, but it needs a lot more testing.
Known problems: 
* HG asset transfers are borked for now
* missing texture is missing
* 3 unit tests commented out for now
2009-05-15 05:00:25 +00:00
Justin Clarke Casey
6277156044 * When saving an oar, save assets when immediately received rather than storing them all up in memory
* Hopefully this will remove out of memory problems when saving large oars on machines without much memory
* It may also speed up saving of large oars
2009-05-14 20:37:54 +00:00
Justin Clarke Casey
d10b5e29bc * refactor: break some of xml2 serialization out of sog 2009-05-14 16:33:04 +00:00
Sean Dague
6d36985bbc remove misleading comment 2009-05-07 19:37:25 +00:00
Sean Dague
ce0a84cbc0 instrument most of the tests with a new InMethod function that may help us figure
out where that pesky deadlock is during test runs.
2009-05-07 19:07:08 +00:00
Justin Clarke Casey
7440681062 minor: Inconsquential change to provoke another build 2009-05-07 13:59:38 +00:00
Justin Clarke Casey
cac6971099 * Get rid of some extraneous debug log output from the last commit 2009-04-28 19:54:57 +00:00
Justin Clarke Casey
898326b5e9 * Stop oar loading barfing if the archive contains directory entries 2009-04-28 19:40:02 +00:00
Justin Clarke Casey
2246b4daaa * Write separate unit test for replicating iar structure to a user inventory 2009-04-24 19:43:54 +00:00
Justin Clarke Casey
d69a018ba8 * Write basic, incomplete load iar test 2009-04-24 15:02:48 +00:00
Justin Clarke Casey
1ccc99a3f9 * refactor: move archive user inventory item serialization out to a separate file 2009-04-23 20:15:05 +00:00
Dr Scofield
7dbcf0570f From: Alan Webb <alan_webb@us.ibm.com>
Changes to enable script state persistence across non-restart
serialization situations (inventory/OAR/attachments)

Also fixing test cases for OAR and IAR so they don't barf with the new code.
2009-04-22 18:09:55 +00:00
Dr Scofield
3b70d14e62 fixes System.UnauthorizedAccessExceptions when trying to load OARs from
read-only files on linux.
2009-04-17 08:11:34 +00:00
Justin Clarke Casey
63936d442c * Make it possible to add a request id to load and save oar requests
* This allows specific requests to be identified.
2009-04-15 19:12:37 +00:00
Justin Clarke Casey
d0744f8eca * Make archiver tests pump the asset server manually instead of starting the normal runtime thread
* This may eliminate the occasional archive test freezes, since they appeared to occur when somehow the asset server didn't pick up on the presence of a request in the asset 
quque
2009-04-14 18:49:45 +00:00
lbsa71
6af0751cc5 * Tagged long running tests with LongRunningAttribute.
* Now, the 144 unit tests takes roughly as long time to run (16s on my laptop) that the 10 long running takes. The database tests takes forever.
* Feel free to run the unit tests as you code, and the rest before commit.
2009-04-09 20:06:27 +00:00
Justin Clarke Casey
561f241564 * minor: move RegionSettingsSerializer into OpenSim.Framework.Serialization 2009-03-27 18:13:34 +00:00
Justin Clarke Casey
6cad71d5ec * minor: remove load oar logging I accidentally left in a few commits ago
* reduce noisiness of uuid gatherer
* stop bothering to pointless complain about directory tar entries when loading an oar
2009-03-24 21:05:20 +00:00
Justin Clarke Casey
0bf2177dfb * Use memory more efficiently when loading oars
* This change starts the script immediately after an object is loaded, rather than waiting till they are all loaded
* This should be okay, but please report any new errors
2009-03-24 20:48:27 +00:00
Mike Mazur
f28886e26d Rename OpenSim.Framework.Archive to OpenSim.Framework.Serialization
Update using statements and prebuild.xml. Also trim trailing whitespace.
2009-03-16 00:12:25 +00:00
Justin Clarke Casey
c04e7cdf2b * Support loading empty folders in an iar 2009-03-13 20:46:53 +00:00
Justin Clarke Casey
a02c3caa0d * Move SceneObject tests into their proper namespace
* Add some more debug code to narrow down where the tests are freezing
2009-03-12 18:13:51 +00:00
Mike Mazur
7b2977d625 Move ArchiveConstants to OpenSim.Framework.Archive
- move a couple constants from InventoryArchiveConstants to
  ArchiveConstants, now only one of these is needed
- change InventoryArchiveConstants references to ArchiveConstants
- remove InventoryArchive AssetInventoryServer plugin dependency on
  OpenSim.Region.CodeModules
- trim trailing whitespace
2009-03-12 06:04:17 +00:00
Mike Mazur
f784620780 Moving TarArchive to OpenSim.Framework.Archive
We now build OpenSim.Framework.Archive.dll which aims to contain code
used for archiving various things in OpenSim. Also remove trailing
whitespace.
2009-03-12 06:03:59 +00:00
Justin Clarke Casey
327720498e * Enable test logging for TestSaveOarV0p2 to capture more information the next time this hiccups 2009-03-10 17:57:04 +00:00
Justin Clarke Casey
5a6bc26600 * Address http://opensimulator.org/mantis/view.php?id=3207
* A saved archive now immediately expires the data in the asset cache that it used, rather than retaining all the assets (esp textures) in the cache.
* This is an imperfect solution.  Ideally we would only expire the assets newly requested for the archive (not existing ones).  But doing that would require a lot more 
restructuring.
* I don't believe there are any locking issues due to the locking performed by the underlying memory cache, but please report any issues.
2009-03-09 17:55:08 +00:00
Justin Clarke Casey
85774de231 * Improve memory usage when writing OARs
* This should make saving large OARs a somewhat better experience
* However, the problem where saving an archive pulls large numbers of assets into the asset cache isn't yet resolved
* This patch also removes lots of archive writing spam that crept in
2009-03-06 20:12:08 +00:00