Is there a buildbot? Is there a waterfall? Do the tests pass against all backends?

292 views
Skip to first unread message

Skylar Saveland

unread,
Feb 17, 2013, 2:33:49 PM2/17/13
to django-d...@googlegroups.com
Hi, I saw a very old thread talking about setting up a buildbot for Django. Did this ever go anywhere? Trying to run the tests against Oracle, I'm finding some that fail against my branch and master. For instance:

ERROR: test_gfk_to_model_with_empty_pk (regressiontests.generic_relations_regress.tests.GenericRelationTests) Test related to #13085

IntegrityError: ORA-01400: cannot insert NULL into ("TEST_D498902"."GENERIC_RELATIONS_REGRESS_2BFD"."NAME")

======================================================================

ERROR: test_lookup_date_as_str (modeltests.lookup.tests.LookupTests)

DatabaseError: ORA-01840: input value not long enough for date format

Are these known to fail against what is in master on github? Is there a place to look to see which tests are failing against which backends? I also have a couple of failures against sqlite. But, I'm wondering what might be known and what might be a difference in my setup.

Thanks,
Skylar

Florian Apolloner

unread,
Feb 17, 2013, 2:50:39 PM2/17/13
to django-d...@googlegroups.com
Hi,

you can see the tests at http://ci.djangoproject.com/ -- currently Oracle is untested cause it's a major pita to setup on ubuntu.

Cheers,
Florian

Skylar Saveland

unread,
Feb 18, 2013, 3:30:49 PM2/18/13
to django-d...@googlegroups.com

you can see the tests at http://ci.djangoproject.com/ -- currently Oracle is untested cause it's a major pita to setup on ubuntu.

Thanks for the info.

If anyone is interested, I get 11 failures and 5 errors on master against Oracle with ./runtests right now:


======================================================================
ERROR: test_lookup_date_as_str (modeltests.lookup.tests.LookupTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".../lib/python2.7/site-packages/django/test/testcases.py", line 883, in skip_wrapper
    return test_func(*args, **kwargs)
  File ".../github/django/tests/modeltests/lookup/tests.py", line 70, in test_lookup_date_as_str
    '<Article: Article 1>',
  File ".../lib/python2.7/site-packages/django/test/testcases.py", line 810, in assertQuerysetEqual
    return self.assertEqual(list(items), values)
  File ".../lib/python2.7/site-packages/django/db/models/query.py", line 125, in _result_iter
    self._fill_cache()
  File ".../lib/python2.7/site-packages/django/db/models/query.py", line 950, in _fill_cache
    self._result_cache.append(next(self._iter))
  File ".../lib/python2.7/site-packages/django/db/models/query.py", line 305, in iterator
    for row in compiler.results_iter():
  File ".../lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 690, in results_iter
    for rows in self.execute_sql(MULTI):
  File ".../lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 755, in execute_sql
    cursor.execute(sql, params)
  File ".../lib/python2.7/site-packages/django/db/backends/oracle/base.py", line 774, in execute
    six.reraise(utils.DatabaseError, utils.DatabaseError(*tuple(e.args)), sys.exc_info()[2])
  File ".../lib/python2.7/site-packages/django/db/backends/oracle/base.py", line 767, in execute
    return self.cursor.execute(query, self._param_generator(params))
DatabaseError: ORA-01840: input value not long enough for date format


======================================================================
ERROR: test_gfk_to_model_with_empty_pk (regressiontests.generic_relations_regress.tests.GenericRelationTests)
Test related to #13085
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".../github/django/tests/regressiontests/generic_relations_regress/tests.py", line 134, in test_gfk_to_model_with_empty_pk
    b1 = Board.objects.create(name='')
  File ".../lib/python2.7/site-packages/django/db/models/manager.py", line 149, in create
    return self.get_query_set().create(**kwargs)
  File ".../lib/python2.7/site-packages/django/db/models/query.py", line 406, in create
    obj.save(force_insert=True, using=self.db)
  File ".../lib/python2.7/site-packages/django/db/models/base.py", line 537, in save
    force_update=force_update, update_fields=update_fields)
  File ".../lib/python2.7/site-packages/django/db/models/base.py", line 641, in save_base
    result = manager._insert([self], fields=fields, return_id=update_pk, using=using, raw=raw)
  File ".../lib/python2.7/site-packages/django/db/models/manager.py", line 218, in _insert
    return insert_query(self.model, objs, fields, **kwargs)
  File ".../lib/python2.7/site-packages/django/db/models/query.py", line 1604, in insert_query
    return query.get_compiler(using=using).execute_sql(return_id)
  File ".../lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 852, in execute_sql
    cursor.execute(sql, params)
  File ".../lib/python2.7/site-packages/django/db/backends/oracle/base.py", line 769, in execute
    six.reraise(utils.IntegrityError, utils.IntegrityError(*tuple(e.args)), sys.exc_info()[2])
  File ".../lib/python2.7/site-packages/django/db/backends/oracle/base.py", line 767, in execute
    return self.cursor.execute(query, self._param_generator(params))
IntegrityError: ORA-01400: cannot insert NULL into ("TEST_D498902"."GENERIC_RELATIONS_REGRESS_2BFD"."NAME")


======================================================================
ERROR: test_get_key_columns (regressiontests.introspection.tests.IntrospectionTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".../lib/python2.7/site-packages/django/test/testcases.py", line 883, in skip_wrapper
    return test_func(*args, **kwargs)
  File ".../github/django/tests/regressiontests/introspection/tests.py", line 115, in test_get_key_columns
    key_columns = connection.introspection.get_key_columns(cursor, Article._meta.db_table)
  File ".../lib/python2.7/site-packages/django/db/backends/__init__.py", line 1082, in get_key_columns
    raise NotImplementedError
NotImplementedError

======================================================================
ERROR: setUpClass (regressiontests.views.tests.i18n.JavascriptI18nTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".../github/django/tests/regressiontests/views/tests/i18n.py", line 185, in setUpClass
    cls.selenium = firefox.WebDriver()
  File ".../lib/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 59, in __init__
    self.binary, timeout),
  File ".../lib/python2.7/site-packages/selenium/webdriver/firefox/extension_connection.py", line 47, in __init__
    self.binary.launch_browser(self.profile)
  File ".../lib/python2.7/site-packages/selenium/webdriver/firefox/firefox_binary.py", line 43, in launch_browser
    self._start_from_profile_path(self.profile.path)
  File ".../lib/python2.7/site-packages/selenium/webdriver/firefox/firefox_binary.py", line 65, in _start_from_profile_path
    env=self._firefox_env).communicate()
  File ".../lib/python2.7/subprocess.py", line 679, in __init__
    errread, errwrite)
  File ".../lib/python2.7/subprocess.py", line 1249, in _execute_child
    raise child_exception
AttributeError: 'NoneType' object has no attribute 'rfind'

======================================================================
ERROR: test_query_encoding (regressiontests.backends.tests.LastExecutedQueryTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".../github/django/tests/regressiontests/backends/tests.py", line 178, in test_query_encoding
    cursor = tags.query.get_compiler('default').execute_sql(None)
  File ".../lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 755, in execute_sql
    cursor.execute(sql, params)
  File ".../lib/python2.7/site-packages/django/db/backends/util.py", line 45, in execute
    sql = self.db.ops.last_executed_query(self.cursor, sql, params)
  File ".../lib/python2.7/site-packages/django/db/backends/oracle/base.py", line 273, in last_executed_query
    return cursor.statement.decode("utf-8")
  File ".../lib/python2.7/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 16-17: ordinal not in range(128)

======================================================================
FAIL: test_generic_relations_values_list (modeltests.generic_relations.tests.GenericRelationsTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".../github/django/tests/modeltests/generic_relations/tests.py", line 24, in test_generic_relations_values_list
    self.assertIn(t1.id, animal_tag_ids)
AssertionError: 40 not found in [20]

======================================================================
FAIL: test_extra_method_select_argument_with_dashes_and_values (modeltests.basic.tests.ModelTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".../github/django/tests/modeltests/basic/tests.py", line 596, in test_extra_method_select_argument_with_dashes_and_values
    [[('dashed-value', 1), ('headline', 'Article 11')], [('dashed-value', 1), ('headline', 'Article 12')]])
AssertionError: Lists differ: [[(u'dashed-value', 1), (u'hea... != [[(u'dashed-value', 1), (u'hea...

Second list contains 1 additional elements.
First extra element 1:
[(u'dashed-value', 1), (u'headline', u'Article 12')]

- [[(u'dashed-value', 1), (u'headline', u'Article 11')]]
?                                                      ^

+ [[(u'dashed-value', 1), (u'headline', u'Article 11')],
?                                                      ^

+  [(u'dashed-value', 1), (u'headline', u'Article 12')]]

======================================================================
FAIL: test_year_lookup_edge_case (modeltests.basic.tests.ModelTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".../github/django/tests/modeltests/basic/tests.py", line 527, in test_year_lookup_edge_case
    ["<Article: Article 11>", "<Article: Article 12>"])
  File ".../lib/python2.7/site-packages/django/test/testcases.py", line 810, in assertQuerysetEqual
    return self.assertEqual(list(items), values)
AssertionError: Lists differ: ['<Article: Article 11>'] != [u'<Article: Article 11>', u'<...

Second list contains 1 additional elements.
First extra element 1:
<Article: Article 12>

- ['<Article: Article 11>']
+ [u'<Article: Article 11>', u'<Article: Article 12>']

======================================================================
FAIL: test_foreign_key (modeltests.one_to_one.tests.OneToOneTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".../github/django/tests/modeltests/one_to_one/tests.py", line 100, in test_foreign_key
    assert_filter_waiters(id__exact=self.p1.pk)
  File ".../github/django/tests/modeltests/one_to_one/tests.py", line 90, in assert_filter_waiters
    '<Waiter: Joe the waiter at Demon Dogs the restaurant>'
  File ".../lib/python2.7/site-packages/django/test/testcases.py", line 810, in assertQuerysetEqual
    return self.assertEqual(list(items), values)
AssertionError: Lists differ: [] != ['<Waiter: Joe the waiter at D...

Second list contains 1 additional elements.
First extra element 0:
<Waiter: Joe the waiter at Demon Dogs the restaurant>

- []
+ ['<Waiter: Joe the waiter at Demon Dogs the restaurant>']

======================================================================
FAIL: test_field_types (regressiontests.inspectdb.tests.InspectDBTestCase)
Test introspection of various Django field types
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".../github/django/tests/regressiontests/inspectdb/tests.py", line 44, in test_field_types
    assertFieldType('bool_field', "models.BooleanField()")
  File ".../github/django/tests/regressiontests/inspectdb/tests.py", line 35, in assertFieldType
    self.assertEqual(definition, out_def)
AssertionError: u'models.BooleanField()' != 'models.IntegerField()'

======================================================================
FAIL: test_custom_project_template_from_tarball_by_url (regressiontests.admin_scripts.tests.StartProject)
Make sure the startproject management command is able to use a different project template from a tarball via a url
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".../github/django/tests/regressiontests/admin_scripts/tests.py", line 1544, in test_custom_project_template_from_tarball_by_url
    self.assertNoOutput(err)
  File ".../github/django/tests/regressiontests/admin_scripts/tests.py", line 170, in assertNoOutput
    self.assertEqual(len(stream), 0, "Stream should be empty: actually contains '%s'" % stream)
AssertionError: Stream should be empty: actually contains 'ReadError: file could not be opened successfully
'

======================================================================
FAIL: test_project_template_tarball_url (regressiontests.admin_scripts.tests.StartProject)
Startproject management command handles project template tar/zip balls from non-canonical urls
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".../github/django/tests/regressiontests/admin_scripts/tests.py", line 1557, in test_project_template_tarball_url
    self.assertNoOutput(err)
  File ".../github/django/tests/regressiontests/admin_scripts/tests.py", line 170, in assertNoOutput
    self.assertEqual(len(stream), 0, "Stream should be empty: actually contains '%s'" % stream)
AssertionError: Stream should be empty: actually contains 'ReadError: file could not be opened successfully
'

======================================================================
FAIL: test_sql_all (regressiontests.commands_sql.tests.SQLCommandsTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".../github/django/tests/regressiontests/commands_sql/tests.py", line 36, in test_sql_all
    self.assertIn(len(output), [2, 3])
AssertionError: 4 not found in [2, 3]

======================================================================
FAIL: test_sql_create (regressiontests.commands_sql.tests.SQLCommandsTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".../github/django/tests/regressiontests/commands_sql/tests.py", line 18, in test_sql_create
    six.assertRegex(self, output[0], r'^CREATE TABLE .commands_sql_book.*')
  File ".../lib/python2.7/site-packages/django/utils/six.py", line 413, in assertRegex
    return getattr(self, _assertRegex)(*args, **kwargs)
AssertionError: Regexp didn't match: u'^CREATE TABLE .commands_sql_book.*' not found in u'CREATE TABLE "COMMANDS_SQL_BOOK" (\n    "ID" NUMBER(11) NOT NULL PRIMARY KEY,\n    "TITLE" NVARCHAR2(100)\n)\n;'

======================================================================
FAIL: test_sql_delete (regressiontests.commands_sql.tests.SQLCommandsTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".../github/django/tests/regressiontests/commands_sql/tests.py", line 23, in test_sql_delete
    six.assertRegex(self, output[0], r'^DROP TABLE .commands_sql_book.*')
  File ".../lib/python2.7/site-packages/django/utils/six.py", line 413, in assertRegex
    return getattr(self, _assertRegex)(*args, **kwargs)
AssertionError: Regexp didn't match: u'^DROP TABLE .commands_sql_book.*' not found in u'DROP SEQUENCE "COMMANDS_SQL_BOOK_SQ";'

======================================================================
FAIL: test_related_null_to_field (regressiontests.many_to_one_regress.tests.ManyToOneRegressionTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".../github/django/tests/regressiontests/many_to_one_regress/tests.py", line 136, in test_related_null_to_field
    self.assertEqual(list(c1.drivers.all()), [])
AssertionError: Lists differ: [<Driver: Driver object>] != []

First list contains 1 additional elements.
First extra element 0:
Driver object

- [<Driver: Driver object>]
+ []

----------------------------------------------------------------------
Ran 5064 tests in 41276.438s

FAILED (failures=11, errors=5, skipped=110, expected failures=10)

Shai Berger

unread,
Feb 22, 2013, 4:01:44 PM2/22/13
to django-d...@googlegroups.com
On Sunday 17 February 2013, Florian Apolloner wrote:
> Hi,
>
> you can see the tests at http://ci.djangoproject.com/ -- currently Oracle
> is untested cause it's a major pita to setup on ubuntu.
>

The easiest way I know to set up Oracle on Debian/Ubuntu is to use Oracle's
"Dev Days" VM appliance. It places non-trivial hardware requirements (about
1.5G memory just to be able to run the VM under virtualbox -- it is set up to
ask for 1G "internally" and VB has its own overhead), but other than that, it
was quite easy to get going. I use it on my laptop (which is easily strong
enough) for development.

http://www.oracle.com/technetwork/community/developer-vm/index.html

Anssi Kääriäinen

unread,
Feb 22, 2013, 6:23:00 PM2/22/13
to Django developers
I did some Oracle fixing today. 1.5.x should now pass all tests. I
didn't run the full test suite after committing the fixes, as it takes
nearly an hour to do so. It would be really good if some of the Oracle
users could run the full test suite (not including GIS which is known
to be broken) on the stable/1.5.x to confirm that all tests are
passing. Oracle is somewhat configuration dependant, so checking
against different configurations would be good.

On 18 helmi, 22:30, Skylar Saveland <skylar.savel...@gmail.com> wrote:
> If anyone is interested, I get 11 failures and 5 errors on master against
> Oracle with ./runtests right now:
>
> ERROR: test_lookup_date_as_str (modeltests.lookup.tests.LookupTests)

Confirmed.

> ERROR: test_gfk_to_model_with_empty_pk
> (regressiontests.generic_relations_regress.tests.GenericRelationTests)

Fixed.

> ERROR: test_get_key_columns
> (regressiontests.introspection.tests.IntrospectionTests)

Confirmed.

> ERROR: setUpClass (regressiontests.views.tests.i18n.JavascriptI18nTests)

Doesn't seem Oracle specific, likely a random Selenium failure. The
Selenium tests do that sometimes...

> ERROR: test_query_encoding
> (regressiontests.backends.tests.LastExecutedQueryTest)

Fixed. This might be configuration dependant, so retesting at least
this one would be valuable.

> FAIL: test_generic_relations_values_list
> (modeltests.generic_relations.tests.GenericRelationsTests)

For some reason I can't find this test at all. It doesn't seem to be
present on current master (f565c6f9994b2559a5164dc709a926eac7ebd5fe),
and generic_relations tests do pass.

> FAIL: test_extra_method_select_argument_with_dashes_and_values
> (modeltests.basic.tests.ModelTest)

Confirmed.

> FAIL: test_year_lookup_edge_case (modeltests.basic.tests.ModelTest)

Confirmed.

> FAIL: test_foreign_key (modeltests.one_to_one.tests.OneToOneTests)

Works for me.

> FAIL: test_field_types (regressiontests.inspectdb.tests.InspectDBTestCase)

Oracle is an expected failure for this test now. Inspecting Oracle
fields is bit hard, there was various failures from getting CharField
length wrong to wrongly detecting FloatField as DecimalField. Many of
these are likely impossible to fix. And, inspectdb isn't high
priority, the output needs to be hand-edited anyways.

> FAIL: test_custom_project_template_from_tarball_by_url
> (regressiontests.admin_scripts.tests.StartProject)

Works for me, and doesn't look Oracle specific.

> FAIL: test_project_template_tarball_url
> (regressiontests.admin_scripts.tests.StartProject)

Same here.

> FAIL: test_sql_all (regressiontests.commands_sql.tests.SQLCommandsTestCase)

Confirmed.

> FAIL: test_sql_create
> (regressiontests.commands_sql.tests.SQLCommandsTestCase)

Fixed.

> FAIL: test_sql_delete
> (regressiontests.commands_sql.tests.SQLCommandsTestCase)

Fixed.

> FAIL: test_related_null_to_field
> (regressiontests.many_to_one_regress.tests.ManyToOneRegressionTests)

Fixed.

This leaves still 5 confirmed and some "works for me" items. The rest
of the confirmed items are likely a bit harder to fix.

The current situation is somewhat problematic regarding Oracle. We
don't have many core developers who are interested in Oracle and also
have time to fix issues. I am fixing Oracle issues mainly because I
think it is good for the ORM to have a core DB that does things
somewhat differently than the other core DBs. Forces the ORM to be
more generic.

And yes, continuous testing would be really good. Unfortunately Oracle
didn't work well in the CI environment so it was uninstalled. There is
some hope in using the VM image in the CI for Oracle testing, and also
the djangocore-box might give developers somewhat easy way to test
against Oracle. So, there is some hope that the situation will
improve.

- Anssi

Florian Apolloner

unread,
Feb 24, 2013, 3:07:00 AM2/24/13
to django-d...@googlegroups.com
Hi,


On Friday, February 22, 2013 10:01:44 PM UTC+1, Shai Berger wrote:
but other than that, it
was quite easy to get going. I use it on my laptop (which is easily strong
enough) for development.

Yeah, I know about it and set it up on the CI during the sprints, it's still segfaulting somewhere :/

http://ci.djangoproject.com/job/Django%20Oracle/database=oracle,python=python3.3/12/console

Cheers,
Florian

Shai Berger

unread,
Feb 24, 2013, 5:48:19 PM2/24/13
to django-d...@googlegroups.com
On Sunday 24 February 2013, Florian Apolloner wrote:
>
> Yeah, I know about it and set it up on the CI during the sprints, it's
> still segfaulting somewhere :/
>
> http://ci.djangoproject.com/job/Django%20Oracle/database=oracle,python=pyth
> on3.3/12/console
>
Mybe it's me -- I couldn't get to any report saying what the problem was...

Florian Apolloner

unread,
Feb 25, 2013, 6:41:10 AM2/25/13
to django-d...@googlegroups.com
The problem is that it segfaults, when something like a segfault happens you usually don't get more information than that... I tried to debug the segfault but cx_Oracle or rather the instantclient stuff is installed without debug information :/

Shai Berger

unread,
Feb 25, 2013, 11:27:06 AM2/25/13
to django-d...@googlegroups.com
Without knowing anything, my first guess would be a mismatch between the python
version used to run the test and the one used to build cx_Oracle. But if you
install cx_Oracle from source, that's probably not the issue...

Regardless, as far as I could see, the tests were only attempted for Python3
versions. Did you try to set it up for Python2?

[I hope I'm not coming off pushy -- I only want to help, and will be happy to
get my hands dirty with the actual setup].

Thanks,
Shai.

Jacob Kaplan-Moss

unread,
Feb 25, 2013, 12:31:19 PM2/25/13
to django-developers
Would a dedicated Oracle build slave machine (VM, probably) help? If
so I can most likely provide one. Perhaps I could provide a host, Shai
could set it up to run Oracle, and Florian et al. could integrate it
into our existing Jenkins instance?

Jacob
> --
> You received this message because you are subscribed to the Google Groups "Django developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to django-develop...@googlegroups.com.
> To post to this group, send email to django-d...@googlegroups.com.
> Visit this group at http://groups.google.com/group/django-developers?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

Florian Apolloner

unread,
Feb 25, 2013, 5:29:54 PM2/25/13
to django-d...@googlegroups.com
Hi,


On Monday, February 25, 2013 6:31:19 PM UTC+1, Jacob Kaplan-Moss wrote:
Would a dedicated Oracle build slave machine (VM, probably) help?

So, the current status is: We have Oracle itself running in Virtualbox on the Jenkins, this does work. The issue is that cx_Oracle (or the oracle libraries itself) seem to crash Python. So it's not an issue of setting up Oracle on a dedicated machine/vm but rather finding a configuration where it actually works... So yes at some point we might need another machine if we have to start using VM to get this stuff running.

During the sprints Jannis, Aymeric and I briefly talked about if me might be able to utilize vagrant instances on E2 as buildslaves, but this requires a bit of investigation before actually becoming real.

Cheers,
Florian

Florian Apolloner

unread,
Feb 25, 2013, 5:35:10 PM2/25/13
to django-d...@googlegroups.com
Hi Shai,


On Monday, February 25, 2013 5:27:06 PM UTC+1, Shai Berger wrote:
Without knowing anything, my first guess would be a mismatch between the python
version used to run the test and the one used to build cx_Oracle. But if you
install cx_Oracle from source, that's probably not the issue...

I can rule that out with a 99.999999% certainty. It's indeed manually compiled from source.
 
Regardless, as far as I could see, the tests were only attempted for Python3
versions. Did you try to set it up for Python2?

No, since the Oracle tests are somewhat slow we decided to just test one Python for now. I will try to see if Python 2 makes a difference, didn't yet think of it.
 
[I hope I'm not coming off pushy -- I only want to help, and will be happy to
get my hands dirty with the actual setup].

Oh sorry, didn't mean to give you that feeling, it would be of great help if you could setup cx_Oracle on an Ubuntu 11.10 (I have to double check that tomorrow, don't have my ssh keys with me currently) 64 bit system with python 3.3 and see if you can get the tests running or if you also get a segfault.

Thx,
Florian

Shai Berger

unread,
Feb 25, 2013, 8:18:14 PM2/25/13
to django-d...@googlegroups.com
Hi Florian,

On Tuesday 26 February 2013, Florian Apolloner wrote:
> On Monday, February 25, 2013 5:27:06 PM UTC+1, Shai Berger wrote:
> > the tests were only attempted for Python3
> > versions. Did you try to set it up for Python2?
>
> No, since the Oracle tests are somewhat slow we decided to just test one
> Python for now. I will try to see if Python 2 makes a difference, didn't
> yet think of it.
>

Cool.

> > [I hope I'm not coming off pushy -- I only want to help, and will be
> > happy to get my hands dirty with the actual setup].
>
> Oh sorry, didn't mean to give you that feeling,

No, I was just being extra careful -- I suspected I was beginning to "back-
seat drive".

> it would be of great help
> if you could setup cx_Oracle on an Ubuntu 11.10 (I have to double check
> that tomorrow, don't have my ssh keys with me currently) 64 bit system with
> python 3.3 and see if you can get the tests running or if you also get a
> segfault.
>

I'll try, it will probably take me a few days though. My regular system is
Debian Testing.

Shai.

Florian Apolloner

unread,
Feb 27, 2013, 10:53:24 AM2/27/13
to django-d...@googlegroups.com
Hi Shai,


On Tuesday, February 26, 2013 2:18:14 AM UTC+1, Shai Berger wrote:
> No, since the Oracle tests are somewhat slow we decided to just test one
> Python for now. I will try to see if Python 2 makes a difference, didn't
> yet think of it.
>

Cool.

They do work on python2! http://ci.djangoproject.com/job/Django%20Oracle/database=oracle,python=python2.7/13/  A few failures, but most of them are probably real ;)

Either way, I am happy for today…

Shai Berger

unread,
Feb 27, 2013, 5:50:22 PM2/27/13
to django-d...@googlegroups.com
Hi Florian,

On Wednesday 27 February 2013, Florian Apolloner wrote:
> Hi Shai,
>
> On Tuesday, February 26, 2013 2:18:14 AM UTC+1, Shai Berger wrote:
> > > No, since the Oracle tests are somewhat slow we decided to just test
> > > one Python for now. I will try to see if Python 2 makes a difference,
> > > didn't yet think of it.
> >
> > Cool.
>
> They do work on python2!

Double cool!

Shai.

Shai Berger

unread,
Mar 18, 2013, 12:57:54 PM3/18/13
to django-d...@googlegroups.com
Hi,

Reviving an oldish thread:

On Tuesday 26 February 2013 00:35:10 Florian Apolloner wrote:
> it would be of great help
> if you could setup cx_Oracle on an Ubuntu 11.10 (I have to double check
> that tomorrow, don't have my ssh keys with me currently) 64 bit system with
> python 3.3 and see if you can get the tests running or if you also get a
> segfault.
>

I got as far as performing a simple query, no segfault. As I'm writing this,
I'm downloading the Django sources to the Ubuntu 11.10 VM in order to try
running the tests.

As far as I know, I did nothing special for this -- just compiled Python from
source, unzipped the instantclient packages, and used them to build cx_Oracle
from source in a Python3 virtual environment ("pyvenv").

Hope this is still of interest,

Shai.

Shai Berger

unread,
Mar 19, 2013, 3:21:05 AM3/19/13
to django-d...@googlegroups.com
On Monday 18 March 2013, Shai Berger wrote:
> Hi,
>
> Reviving an oldish thread:
>
> On Tuesday 26 February 2013 00:35:10 Florian Apolloner wrote:
> > it would be of great help
> > if you could setup cx_Oracle on an Ubuntu 11.10 (I have to double check
> > that tomorrow, don't have my ssh keys with me currently) 64 bit system
> > with python 3.3 and see if you can get the tests running or if you also
> > get a segfault.
>
Segfault after ~3850 tests (including several errors and failures, but that's
minor).

Is there any interest in fixing this, specifically? My guess is that the
intersection between Oracle users and Python3 users (within Django users) is
pretty slim, and further, Ubuntu 11.10 (a non-current, non-LTS release) is a
prime target for neither Oracle (stable-liking) users nor Python3 (new-
preferring) users.

Shai.

Florian Apolloner

unread,
Mar 19, 2013, 4:56:12 AM3/19/13
to django-d...@googlegroups.com
Hi,


On Tuesday, March 19, 2013 8:21:05 AM UTC+1, Shai Berger wrote:
Is there any interest in fixing this, specifically?

Sure, I just don't have to knowledge to debug cx_Oracle, so if you are up to please. Although I think the endresult would most likely be a patch to cx_Oracle and not Django.

Regards,
Florian

Shai Berger

unread,
Mar 30, 2013, 5:16:55 PM3/30/13
to django-d...@googlegroups.com
I had meant, is there interest in solving it on Ubuntu 11.10 -- things like
segfaults are sometimes related to specific versions of libraries and even
compilers.

But I was able to generate a segfault also on my main work machine, a Debian
Testing. It even seems much worse there. So it will be a little easier for me
to work on, and there may be some more motivation for others to work on it.

Thanks,
Shai.
Reply all
Reply to author
Forward
0 new messages