The problem is not in Glassfish, but in Arquillian. Glassfish deploys the ear without problems, but Arquillian cannot find the correct context. It seems it ignores application.xml file, so when you have there context other than what it is defaultly resolved from war name, Arquillian is lost. It took me two hours to find it, because Arquillian does not log too much ...
Solution:
1) Testable.archiveToTest() - specifies which war will be used by Arquillian for his own servlet.
2) This war must have the same name as the context specified in application.xml (or delete application.xml if you don't need it!)