problem: the out-of-order mechanism based on the outOfOrderIndexerLoop
was not working for some claims.
Let C be a delete claim on permanode P. If C was received before P was,
C was marked as being received with the "have" index row. However, for
the deletion to be marked in the index, some information about P is
needed (its meta row), so C could not be fully indexed upon reception.
Then, when P was finally received, the outOfOrderIndexerLoop would kick
in and retry indexing C. Which would fail, because a test based on the
"have" row would (wrongly) detect that C is already indexed and return
early.
In this patch:
-we introduce the "|indexed" suffix to the "have" - value part - row
(receive.go). If a blob is received but some of its dependencies are
missing, the have row value is written without the suffix. Upon
reception of a blob, we now test for the presence of the suffix in the
have row. If missing, the reception continues instead of returning
early. The existing mechanism that was detecting missing dependencies
for file blobs has been adapted to work with this suffix too.
-the index enumeration (enumstat.go), which relies on "have" rows, has
been adapted to work with the new "have" row format, while staying
compatible with the old format. And related tests have been added.
http://camlistore.org/issue/454
Change-Id: I2559d08a12b2a4e0f0691fc7e31f1ed1f874625e
Return error of type ErrDjpegFailed when djpeg or parsing the PNM returned
fails.
Attempt to decode image again with standard library.
Change-Id: I2a0cb7b52885732b7cbbffb8e34993d232781bc0
Import src/com/google/zxing from
https://github.com/zxing/zxing/android-integration/src/ at revision:
commit 7d35bd0bddbe84185b9f79c5cb07749a8767c952
Author: Sean Owen <srowen@gmail.com>
Date: Wed Aug 6 09:05:22 2014 +0100
Uses zxing dervied barcode scanner apps to do the heavy lifting. If the
user does not already have the app installed a dialog will open that
directs them to install it from the Google Play store.
Addresses https://camlistore.org/issue/372
Change-Id: Ic398b77cd9795aca533be101b2ebcd5631cc7f20
And use the flag in integration tests.
devcam server already uses it.
Does not fully work yet with devcam test.
Change-Id: I0dbd2b28ff60090133abf0b9578e33d5788a6603
Touch devices still deliver 'mouseover' events, so you can't rely
on that. Anyway, on things like the Chromebook pixel there is a
mouse and a touchscreen. So it just has to work for both modes
simultaneously.
Change-Id: Ia63f159d5c7edd319a56cf1f79d65d799a71367c
Problem: make.go creates an isolated temp gopath ./tmp/build-gopath. The
integration tests make use of that gopath (by running make.go) to build
the tools, and run the test world in it. Similarly, devcam test uses
make.go to setup that temp gopath, and runs the tests from the source
files in that gopath. Consequently, when the integration tests are run
through devcam test, even though they're run from the temp gopath, they
would use the make.go in it, which would create a nested temp gopath
(CAMLIROOT/tmp/build-gopath/src/camlistore.org/tmp/build-gopath) in
which to run the tests.
This patch addresses this issue by creating a new flag (-envGoPath), and
the corresponding env var (CAMLI_MAKE_USEGOPATH), which tells make.go
not to create a new temporary gopath (and hence not to mirror any
files), and to rely on the already set GOPATH env var instead.
Also refactored make.go a bit, and added a couple options and doc to
devcam test.
Change-Id: Ia8a5d7a31e6e317f05218d9e18fb886001cd19cb
Because we do not want the database name to be optional with a
placeholder (/*DB*/) in the statement that creates the database, since
it is not actually optional there - as opposed to when creating tables.
Change-Id: I05351d76d95071492d763758a11454f219524510