- 13 Dec, 2002 3 commits
-
-
Barry Warsaw authored
-
Barry Warsaw authored
admin address of the subprocess. Better to gulp 'em now than sip 'em later. shutdown_zeo_server(): Same thing here, but notice that on Windows, the recv() can raise an ECONNRESET, which I believe we can just ignore. (Will test this with Tim shortly.)
-
Barry Warsaw authored
Instead use self.new_dest() to get a new destination storage. XXX It would still be useful to check for cross-storage-implementation restores. IOW, fs->bdb, bdb->fs (others?).
-
- 12 Dec, 2002 16 commits
-
-
Jeremy Hylton authored
-
Jeremy Hylton authored
-
Jeremy Hylton authored
-
Jeremy Hylton authored
-
Barry Warsaw authored
the warnings until the other fixes are ported to ZODB4. Added an XXX to memind me.
-
Barry Warsaw authored
function. This was a nasty decoy (am I using that term correctly? :). Because we're worried about backward compatibility, for now we'll rebind asyncore.loop() to a function that prints a warning and then calls loop(). Eventually we'll take this away so you have to call ThreadedAsync.loop() explicitly.
-
Barry Warsaw authored
through the sneakily rebound asyncore.loop().
-
Barry Warsaw authored
rename UnixTests to FileStorageTests, and add a simple BDBTests class to use Berkeley Full storage. Rewrite to use the new forker module api. WindowsTests: Removed.
-
Barry Warsaw authored
rename UnixConnectionTests to FileStorageConnectionTests, and add a simple BDBConnectionTests class to use Berkeley Full storage. WindowsConnectionTests: Removed.
-
Barry Warsaw authored
DummyDB.invalidate(): Add **kws since some of the tests try to use keyword arguments. Removed redundant keyword arguments from various openClientStorage() calls.
-
Barry Warsaw authored
-
Barry Warsaw authored
makes little sense to call the server script `winserver.py'. That's gone now, in favor of this zeoserver.py script. Changes include: main(): Accept a -C option pointing to a temp file containing a ZConfig storage section. This reads the file and creates the so described storage, then removes the temp config file. It creates an administrative server which opens an `admin' port which is used to os._exit() this process, with the following protocol. The first time the admin port is connected to, an ack character is sent from zeoserver. This is necessary to coordinate the tests so that they are assured the server is running and responding before it tries to do more. Otherwise, some tests were vulnerable to timing bugs where the shutdown connect happened before the server was ready to accept them. The second connect exits the server process just like before. Copious log entries are written. This script also cleans up after the storages are closed, by calling the storage's .cleanup() method if it exists (FileStorage and the Berkeley storages both implement this method).
-
Jeremy Hylton authored
-
Barry Warsaw authored
and Unix. We actually use the Windows code as the basis for the new approach so there's some hope that this will actually work on Windows <wink>. Tim will verify once the checkins are finished. start_zeo_server(): Is now the blessed way of starting a ZEO server, and it primarily takes a ZConfig storage section string as its argument. This it writes to a temp file and passes -C to the zeoserver.py script, which parses that temp file and creates the underlying storage. zeoserver.py is responsible for deleting the temp file. zeoserver opens an `admin' port which is used to quit the server, but the protocol has been expanded slightly. The first time the admin port is connected to, an ack character is sent from zeoserver. This is necessary to coordinate the tests so that they are assured the server is running and responding before it tries to do more. Otherwise, some tests were vulnerable to timing bugs where the shutdown connect happened before the server was ready to accept them. The second connect exits the server process just like before. start_zeo_server() returns a 3-tuple. The first element is the (host,port) tuple of the ZEO server, the second is the (host,port) tuple of the admin socket, and the third is the pid of the spawned child process. shutdown_zeo_server(): The blessed way to shut down a zeoserver.py process. Takes an admin (host,port) tuple, connects to that and writes a log entry.
-
Jeremy Hylton authored
The get_class() function will not find a class for a ZClass, but it shouldn't fail. Fix this by making the class an output paramter got get_class() and returning 1/0 for success / failure. A ZClass should succeed trivially because it is not an extension class.
-
Barry Warsaw authored
asyncore.loop() which really isn't.
-
- 10 Dec, 2002 8 commits
-
-
Barry Warsaw authored
tests, including read_only tests.
-
Barry Warsaw authored
create the specific storage instances. This lets us easily generalize the tests (the Unix ones at least ;) to use the Berkeley Full storage.
-
Barry Warsaw authored
module function cleanup() which was added to FileStorage and BerkeleyBase. UnixTests.getStorage(): Return a ZConfig string instead of a tuple of a class name and an argument list. BDBTests: Simple extension to UnixTests to test using Berkeley storages with ZEO. WindowsTest: Derive from UnixTests and remove getStorageInfo() and delStorage(). Add BDBTests if we can import Full.
-
Barry Warsaw authored
create the specific storage instances. This lets us easily generalize the tests (the Unix ones at least ;) to use the Berkeley Full storage. Tim and I will check Windows compatibility soon.
-
Barry Warsaw authored
i.e. reason first, then oid. This is because there's always a reason but sometimes there isn't an oid (so we can default arg the oid).
-
Barry Warsaw authored
i.e. reason first, then oid. This is because there's always a reason but sometimes there isn't an oid (so we can default arg the oid). cleanup(): Add both a method to FileStorage and a module global function to clean up all the files that a FileStorage creates. Sometimes it's handy to do a cleanup if you have the instance, other times you only have the Data.fs file name.
-
Jeremy Hylton authored
-
Barry Warsaw authored
PersistentMapping sitting off the root object. The zrs heartbeat object will go in this same location (under a different name of course).
-
- 09 Dec, 2002 3 commits
-
-
Jeremy Hylton authored
-
Barry Warsaw authored
FileStorage._txn_undo()
-
Barry Warsaw authored
instead now.
-
- 06 Dec, 2002 10 commits
-
-
Jeremy Hylton authored
The _txn_find() must not stop at the pack boundary when it is called by restore(). It was originally written for _txn_undo() which isn't supposed to undo to a transaction across a pack. But it should be legal to restore() a transaction with a reference to a data record in a transaction that was packed. Fix by adding stop_at_pack flag to _txn_find() and add tests of this behavior for FileStorage.
-
Barry Warsaw authored
-
Barry Warsaw authored
checkTransactionExtensionFromIterator(): New test which BDBFullStorage was failing because it wasn't unpickling the transaction extension data.
-
Barry Warsaw authored
-
Jeremy Hylton authored
Oops. The code for BTrees-based indexing was done on a branch, which was later merged into another branch, which was later merged to the trunk. Somewhere along the way the change that actually enabled the new index was lost.
-
Jeremy Hylton authored
-
Jeremy Hylton authored
-
Jeremy Hylton authored
-
Jeremy Hylton authored
-
Jeremy Hylton authored
Almost entirely concerned with adding ZPL blocks.
-